Ich benutze CasperJS Test-Framework, um einige Testsuite seit fast einem Monat jetzt, aber ich habe ein Problem in einem von ihnen.Wie öffne ich eine neue Registerkarte in CasperJS
Hier ist, was ich tun möchte: Ich surfe eine URL (page1) und ich muss eine andere Aktion von einer anderen URL (simulieren Sie eine neue Registerkarte wie wir in unserem Grafikbrowser) machen, ohne die erste (Seite 1). Die Aktion von der zweiten URL wird meine erste ändern. Hoffe, es ist klar genug :)
So für jetzt, wenn ich den Schritt erreiche, um zu beobachten, dass auf meiner ersten URL öffne ich die zweite, indem Sie eine tun, so dass es einen neuen Navigationsschritt macht und ich die aktuelle Sitzung verlieren und Ich kann nicht darauf zurückkommen. Ich probiere viele Wege aus, wie zum Beispiel die Geschichte zu benutzen, die Seite wieder zu öffnen, das Event von CasperJS zu benutzen und ich versuche es auch mit PhantomJS, aber ohne Erfolg.
Hier einig Pseudo-Code, um es deutlicher zu machen:
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();
});
});
ich das wirklich möchte CasperJS verwenden zu tun, aber ich fange an zu denken, dass es nicht möglich ist, und ich beginne in anderer Lösung zu suchen wie dieser Beitrag: CasperJS, parallel browsing WITH the testing framework. Aber ich benutze node.js nie zuvor, also wenn es die einzige Möglichkeit ist, zeig mir bitte ein Beispiel.
mögliches Duplikat von [So testen Sie zwei interagierende Browser (z. B. Chat-App)] (http://stackoverflow.com/questions/24315512/how-to-test-two-interacting-browsers-eg-chat-app) –