14

多くの調査と試行錯誤の末、フロントエンドBDDテスト用に次のスタックを選択しました。

  • Cucumber.js
  • CasperJS(SpookyJS経由)
  • PhantomJS

CasperJSの実行キューを避け、各ステップでコールバックを使用してPhantomJSを直接( phantom-proxyを介して)使用したいと思います。

@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()

全体をより論理的でBDDのようにします。

さらに、SpookyJSはCasperJS用の完全なAPIを提供していません。

ただし、PhantomJSAPIは非常に低レベルです。実行キューを使用せずにNode.jsにCasperJSのような機能(クリック、要素の待機など)を提供する他のツールはありますか?

4

2 に答える 2

5

Mocha-PhantomJSはまさにあなたが探しているものかもしれません。

あるいは、WebdriverJSはキュウリテストをサポートしています。

より低レベルになりたい場合は、selenium-webdriverと直接インターフェースしてみてください。これがgithubのデモです。

幸運を!

于 2014-07-25T22:55:51.647 に答える
1

キュウリ構文アドオン(mocha-cackes)および/またはchaiを備えたMochaをお勧めします。これは、プラグインchai-jqueryおよびchai-timersです。

また、 Karmaには、プラグインkarma-cucumberを介したキュウリ構文のサポートが付属しています。

KarmaとMochaはどちらも、たとえばソースラボやブラウザスタックのランチャーを使用して、実際のデバイスに対してテストを実行できます。

それが役に立てば幸い。

于 2013-07-24T14:41:35.797 に答える