替代CasperJS与Cucumber.js一起使用

Ern*_*ons 14 javascript bdd cucumber phantomjs

经过大量的研究和反复试验,我为前端BDD测试选择了以下堆栈:

  • Cucumber.js
  • CasperJS(通过SpookyJS)
  • PhantomJS

我想避免CasperJS运行队列并在每一步中直接使用PhantomJS(通过幻像代理)和回调:

@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()
Run Code Online (Sandbox Code Playgroud)

使整体更符合逻辑和BDD.

此外,SpookyJS不为CasperJS提供完整的API.

但是,PhantomJS API非常低级.是否还有其他工具可以在不使用运行队列的情况下为Node.js提供类似CasperJS的功能(单击,等待元素等)?

Kit*_*tes 5

Mocha-PhantomJS可能正是您所需要的.

或者,WebdriverJS支持黄瓜测试.

如果你想要更低级别,你可以尝试直接与selenium-webdriver连接.这是github上的一个演示.

祝好运!