Aufrufen der JS-Methode direkt von CasperJS
Ich versuche zu testen, eine Seite mit CasperJS, insbesondere möchte ich stecken Sie das Daten-Modell einen Haufen. Sagen wir, ich habe eine basic-Funktion aufgerufen, die Steuern, und ich möchte sicherstellen, dass es die richtige Steuersatz. Also würde ich gerne so etwas wie:
this.test.assert(taxes(100, 'Ontario') === 15, "Check ontario tax rate");
Anstatt ein Formular ausfüllen und zu sehen, was er druckt. Dass taxes
Methode besteht in den globalen scope, so bin ich in der Lage, um ihn auszuführen, ganz einfach von überall (auch von der Konsole in firebug oder Chrome). Aber es ist nicht der richtige Rahmen für das arbeiten im Innern CasperJS (denke ich?! Ich bin immer ReferenceError: Can't find variable: taxes
.
Wie es scheint, bin ich etwas fehlt einfach.
TL;DR: Wie führe ich eine on-page-bit JS direkt in einen CasperJS test?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, mit
auswerten()
?Relevantes Zitat: "die Ausführung von code bei der Verwendung der browser-Konsole."
etwas entlang der Linien von:
Verwenden assertEvalEquals() Methode.
Wenn Sie den Aufruf der Methode mit einer jQuery-style-Referenz, stellen Sie sicher, dass explizit die Bibliothek, damit bekommst du die ReferenceError:
...
Finden Sie unter: https://groups.google.com/forum/#!msg/casperjs/2uyUOqdzShw/bHWrJYXni40J
Wenn Sie nennen es implizit im globalen Bereich (d.h., gerade javascript, anstatt, zum Beispiel, $('Steuern')), müssen Sie möglicherweise explizit voranstellen Fenster oder Dokument-namespace, um die Referenz: