我想在窗口 7 中使用 ruby cucumber 和 capybara 设置 selenium webdriver,以便在家练习。有人可以提供详细的步骤。
问问题
801 次
2 回答
0
我举个例子:
require "selenium-webdriver"
gem "test-unit"
require "test/unit"
class Papidal < Test::Unit::TestCase
def setup
@driver = Selenium::WebDriver.for :firefox
#@base_url = "http://localhost:8090/"
@accept_next_alert = true
@driver.manage.timeouts.implicit_wait = 30
@verification_errors = []
end
def teardown
@driver.quit
assert_equal [], @verification_errors
end
def test_papidal
@driver.get("http://localhost:8090/myproject/")
@driver.find_element(:xpath, "//a[@wicketpath='showModalLink']").click
end
def element_present?(how, what)
@driver.find_element(how, what)
true
rescue Selenium::WebDriver::Error::NoSuchElementError
false
end
def verify(&blk)
yield
rescue Test::Unit::AssertionFailedError => ex
@verification_errors << ex
end
def close_alert_and_get_its_text(how, what)
alert = @driver.switch_to().alert()
if (@accept_next_alert) then
alert.accept()
else
alert.dismiss()
end
alert.text
ensure
@accept_next_alert = true
end
end
如果您想将此与 Internet Explorer 一起使用:
- 更改 @driver = Selenium::WebDriver.for :firefox 通过这个 @driver = Selenium::WebDriver.for :ie
- 放入您的 PATH(环境变量):IEDriverServer.exe(您可以从以下网址下载:http ://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_x64_2.30.2.zip )并在执行前执行剧本
于 2013-03-03T12:34:57.900 回答
0
selenium 默认与 capybara 一起提供,将 :js => true 添加到您的黄瓜步骤中,您应该一切顺利。我正在使用没有黄瓜的 rspec,但我有类似的东西
describe "Something" do
it "should use selenium", js: true do
page.should have_content "It works!"
end
你应该看到 Firefox 出现了你可能想考虑一个无头驱动程序来降低浏览器启动成本
这是 Rails 3 in Action 的一个项目,它有一些使用 selenium 的特性
于 2012-12-01T06:02:14.130 回答