Alternative zu CasperJS für die Verwendung mit Cucumber.js

Nach viel Forschung und Versuch und Irrtum habe ich gewählt, die die folgenden Stapel für den Frontend-BDD-Tests:

  • Cucumber.js
  • CasperJS (durch SpookyJS)
  • PhantomJS

Ich möchte vermeiden, CasperJS führen Sie Warteschlangen und nutzen PhantomJS direkt (durch phantom-proxy) mit callbacks in jedem Schritt:

@World = (cb) ->
    @phantom = require "phantom-proxy"
    cb()

@Before (cb) ->
    self = this
    @phantom.create {}, (proxy) ->
        self.proxy = proxy
        self.page = proxy.page
        cb()

@After (cb) ->
    @proxy.end ->
        cb()

@When /^I go to url "([^"]*)"$/, (url, cb) ->
    @page.open url, ->
        cb()

machen das ganze logischer und BDD-wie.

Darüber hinaus SpookyJS nicht bieten eine vollständige API für CasperJS.

Dem PhantomJS-API, jedoch ist ziemlich low-level. Gibt es andere Hilfsmittel, die Ihnen CasperJS-Funktionen (Klick, warten für die Elemente, etc) für Node.js ohne mit der run-queues?

  • Ewww... läuft PhantomJs innerhalb von Knoten ist hässlich. Ich spreche aus vielen Mängel mit, die. Lösung: PhantomJs + Casper kann sein lief als standalone, und ist viel einfacher zu konfigurieren und anpassen, als solche. Ich kann nicht beraten Sie führen eigenständig auf die Linux-version, die allerdings ein weiterer Fehler auf meinem Teil. ABER die phantom.exe lief von der windows-Befehlszeile ist ein Geschenk des Himmels. Es funktioniert einfach. Ein server gebaut werden kann, in weniger als 20 Zeilen, wie gut. CasperJS + eigene tests sind kinderleicht aufzubauen und passen Sie auch, direkt von der Beispiele in CasperJs Beispiel-Seite. Sehr zu empfehlen.
  • Soweit ich recherchiert, es funktionierte gut für single-page-apps, aber nicht für Webseiten, denen man braucht, um von Seite zu Seite navigieren. Schließlich gingen wir mit Tests innerhalb django mit Salat und ghostdriver. funktioniert wie Charme und ist sehr schnell.
  • Sie sollten github.com/AllegiantAir/cucumber-defaults
Schreibe einen Kommentar