[英]Alternative to CasperJS for use with Cucumber.js
经过大量的研究和反复试验,我为前端BDD测试选择了以下堆栈:
我想避免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-jquery和chai-timers 。
此外, Karma通过插件karma-cucumber提供黄瓜语法支持。
Karma和Mocha都允许您使用发射器为saucelabs或browserstack运行针对真实设备的测试。
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.