我正在使用Cucumber / Ruby / Selenium-Webdriver / Capybara进行网站测试自动化。我想与Cucumber和Ruby一起切换到Watir-Webdriver,但我正在努力解决以下问题:
每次运行我的黄瓜测试时,Watir会打开两个浏览器窗口,一个空白屏幕到我默认配置的网站,再加上另一个执行实际测试步骤的网站。
我的支持/ env.rb'文件有:
require 'allure-cucumber'
require 'rspec'
require 'watir-webdriver'
AllureCucumber.configure do |c|
c.output_dir = 'D:\Test\result'
c.clean_dir = true
c.tms_prefix = '@PRACTEST--'
c.issue_prefix = '@JIRA++'
c.severity_prefix = '@URGENCY:'
c.tms_prefix = ''
end
我的步骤文件以:
开头require 'watir-webdriver'
require 'cucumber'
require 'rspec'
require_relative 'D:\EntelTest\src\PageObject\home_page.rb'
Before do
@test = AbstractPage.new(Watir::Browser.new :ff)
@test.full_size
end
After do
@test.quit
end
home_page = nil
When(/^Go to home page$/) do
home_page = @test.goToHomePage
end
答案 0 :(得分:0)
你可以在hooks.rb
之前和之后放这些吗?在steps.rb
文件中,只需提及黄瓜步骤的代码,然后再声明browser = Watir::Browser.new :ff
最佳做法是将其放入hooks.rb中。 env.rb通常应该包含所需的功能和服务器环境代码。 :)
答案 1 :(得分:0)
你在步骤文件中放入的内容应该放在hooks.rb文件中。
请安装名为testnow的宝石。 它将帮助您使用所有预配置的浏览器创建大多数标准且易于使用的watir-webdriver框架。
步骤:
1) gem install testnow
2) testnow watir_cucumber_now
您将安装dependecies,输入Y以完全设置它。 它将使用示例场景创建健壮的框架。
只需使用以下任何命令运行示例场景。
rake testnow BROWSER=firefox
rake testnow BROWSER=chrome
rake testnow BROWSER=opera
只有在预先安装了浏览器并且在PATH变量中存在webdriver时,这才有效。
请发表评论以获取更多信息。
希望它有所帮助!!