我正在使用黄瓜+水豚进行一些网络自动化测试.我希望能够连接我自己的标签(类似于场景之前的@all_browsers)并让它针对我设置的网络驱动程序列表(快速,firefox上的selenium,即chrome).我不想在前面用4个不同的标签写4个不同时间的场景.我试着通过我注册的新驱动程序尝试这样做:
Capybara.register_driver :all_browsers do |app|
# What would even work in here? I don't think anything will.
end
Run Code Online (Sandbox Code Playgroud)
然后跟进:
Before('@all_browsers') do
# Same problem here.
end
Run Code Online (Sandbox Code Playgroud)
但是我不太确定要放入哪种方法可能会有效.
我尝试过使用黄瓜钩,特别是:
Around('@all_browsers') do |scenario, block|
Capybara.current_driver = :selenium_firefox
block.call
Capybara.current_driver = :selenium_chrome
block.call
# etc
end
Run Code Online (Sandbox Code Playgroud)
但这并不像我希望的那样.它使用相同的驱动程序并使用它运行场景两次.
沿着钩线,这是黄瓜文件中的这个:
You may also provide an AfterConfiguration hook that will be run after Cucumber has been configured. This hook will run only once; after support has been loaded but before features are loaded. You can use …
我正在尝试设置Cucumber来测试基于PHP的Web应用程序.该应用程序具有许多基于JavaScript的动态功能.从我的谷歌搜索,似乎这意味着我应该使用Celerity/Culerity或Capybara作为我的网页浏览宝石.但是,我似乎无法找到任何关于如何使用这些系统之一测试非Rails应用程序的好例子.他们的所有文档都假定我使用的是Rails或Rack应用程序.
长话短说:我是在吠叫错误的树吗?在没有Rails的情况下,这些都是实用的吗?如果是这样,你能指点我一些资源和/或如何做的例子吗?