【发布时间】:2014-01-07 20:26:25
【问题描述】:
我正在尝试通过 linux 中的命令提示符运行 selenium ruby 文件 (.rb)。我只需要启动 chrome 并获取一个 url。所以我下载了 Selenium-serverstandalone-2.37.0.jar 和 chromedriver(从 chromedriver_linux(32) 中提取)在同一个目录 (/home/) 中。我也设置了指向 chromedriver 的路径。我是初学者,如果我在这里遗漏了什么,请告诉我。
这是我的 test.rb 文件:
require "selenium-webdriver"
require "rspec"
include RSpec::Expectations
describe "TestScript" do
before(:each) do
@driver = Selenium::WebDriver.for :chrome
@base_url = "http://www.google.com"
@accept_next_alert = true
@driver.manage.timeouts.implicit_wait = 5
@verification_errors = []
end
after(:each) do
@driver.quit
@verification_errors.should == []
end
it "test_script" do
@driver.get(@base_url)
puts "Logged in"
if(element_present?(:link, "Home"))
puts "Home page is detected"
end
puts "Logging out"
end
def element_present?(how, what)
@driver.find_element(how, what)
true
rescue Selenium::WebDriver::Error::NoSuchElementError
false
end
def verify(&blk)
yield
rescue ExpectationNotMetError => ex
@verification_errors << ex
end
当我运行它时,它会抛出这个错误:
NoMethodError: undefined method 'quit' for Nil:NilClass occured at /home/test.rb
Failure/Error: @driver = Selenium::WebDriver.for :chrome
Selenium::WebDriver::Error::WebDriverError:
Unable to find the chromedriver executable. Please download the server from http://chromedriver.storage.googleapis.com/index.html and place it somewhere on your path.
请指导我如何进行!
【问题讨论】:
标签: ruby selenium rspec selenium-chromedriver