Sto usando la struttura di test di CasperJS per creare una suite di test da quasi un mese, ma ho riscontrato un problema in uno di essi.Come aprire una nuova scheda in CasperJS
Ecco cosa voglio fare: sto sfogliando un url (pagina1) e devo fare un'altra azione da un altro url (simulare una nuova scheda come quella che abbiamo nel nostro browser grafico) senza uscire dal primo (Pagina 1). L'azione dal secondo url cambierà il mio primo. Spero sia abbastanza chiaro :)
Quindi per ora quando raggiungo il passo per osservare che sul mio primo URL apro il secondo facendo un thenOpen()
, quindi sta facendo un nuovo passo di navigazione e sto perdendo la sessione corrente e Non posso tornare su di esso. Provo molti modi come usare la cronologia, riaprire la pagina, usare l'evento di CasperJS e anche io provo con PhantomJS ma senza successo.
Ecco alcuni pseudo codice per renderlo più chiaro:
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();
});
});
Mi piacerebbe davvero utilizzare CasperJS di farlo, ma comincio a pensare che non è possibile, e sto cominciando a guardare in soluzione diversa come questo post: CasperJS, parallel browsing WITH the testing framework. Ma non ho mai usato node.js prima, quindi se è l'unico modo per favore mostrami un esempio.
possibile duplicato di [Come testare due browser interagenti (ad esempio l'app di chat)] (http://stackoverflow.com/questions/24315512/how-to-test-two-interacting-browsers-eg-chat-app) –