两个不同的驱动程序的黄瓜步骤

时间:2014-08-25 15:06:51

标签: selenium cucumber capybara poltergeist

我正在使用两种不同的浏览器,capybara poltergeist和selenium驱动程序(不是capybara selenium驱动程序)。

在我的黄瓜测试中,我的步骤看起来像这样:

#for selenium
When /^I go to url$/ do |url|
  @driver.get url
end

#for capybara
When /^I visit url$/ do |url|
  visit url
end

我的测试数量正在增长,这种形式的工作(以不同的方式命名步骤) 正在成长。

我希望有一种更优雅的方式,特别是在点击按钮时。

2 个答案:

答案 0 :(得分:0)

我可能会删除自上次加载胜利后多余的黄瓜步骤匹配。但是在你的一个正则表达式匹配中,id做一个Case语句...... E.g
    什么时候(/ ^我使用“selenium”$ /)去url做do | url,app |     案例应用     当'selenium'@ driver.get url     当'水豚'访问网址时     否则#default到selenium @ driver.get url     结束

答案 1 :(得分:0)

您可以创建一个名为visit的方法,并将其编码为:

def visit (url)
   @driver.get url
end

然后,当您不使用capybara dsl时,将调用您定义的方法。