繁体   English   中英

替代CasperJS与Cucumber.js一起使用

[英]Alternative to CasperJS for use with Cucumber.js

经过大量的研究和反复试验,我为前端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()

使整体更符合逻辑和BDD。

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

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

Mocha-PhantomJS可能就是你想要的。

或者, WebdriverJS支持黄瓜测试。

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

祝好运!

我推荐Mocha ,它有一个黄瓜语法附加组件(mocha-cackes)和/或chai,它的插件是chai-jquerychai-timers

此外, Karma通过插件karma-cucumber提供黄瓜语法支持。

Karma和Mocha都允许您使用发射器为saucelabs或browserstack运行针对真实设备的测试。

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM