J'utilise le cadre de tests CasperJS pour faire une suite de tests depuis près d'un mois, mais je suis confronté à un problème dans l'un d'entre eux.Comment ouvrir un nouvel onglet dans CasperJS
Voici ce que je veux faire: Je parcours une URL (page1) et je dois faire une autre action à partir d'une autre URL (simuler un nouvel onglet comme sur notre navigateur graphique) sans quitter la première (Page 1). L'action de la deuxième url va changer mon premier. J'espère que c'est assez clair :)
Donc pour l'instant quand j'atteins l'étape pour observer que sur mon premier url j'ouvre le deuxième en faisant un thenOpen()
, ainsi il fait une nouvelle étape de navigation et je perds la session courante et Je ne peux pas y revenir. J'essaye beaucoup de manières telles qu'utiliser l'histoire, rouvrir la page, employer l'événement de CasperJS et aussi essayer avec PhantomJS mais sans succès.
Voici un code pseudo pour le rendre plus clair:
casper.test.begin("A random test suite", 0, function testSuite(test) {
casper.start(url1, function() {
casper.then(function() {
// do some action on the first url
});
casper.then(function() {
// open url2 and do some action in a new tab to not lose the session of url1
});
casper.then(function() {
// check url1 (who should be still open)
});
});
casper.run(function() {
test.done();
});
});
Je voudrais vraiment utiliser CasperJS pour faire cela, mais je commence à penser qu'il est impossible, et je commence à regarder dans une solution différente tel que ce poste: CasperJS, parallel browsing WITH the testing framework. Mais je n'ai jamais utilisé node.js auparavant, donc si c'est le seul moyen, donnez-moi un exemple.
duplication possible de [Comment tester deux navigateurs interactifs (par exemple l'application de chat)] (http://stackoverflow.com/questions/24315512/how-to-test-two-interacting-browsers-eg-chat-app) –