关于如何在Ruby中使用RSpec,我正在关注tutorial。 我们正在学习如何使用webdriver,但是当我尝试运行项目时收到错误。我想知道你能看到我错过了什么吗?谢谢
首先,我会告诉你更多关于项目背景的信息。
我正在使用IDE Jetbrains RubyMine来构建项目。 我安装了以下版本的所需程序:
Ruby 2.2.6
Rspec 3.6
selenium-webdriver 3.0.0
我已使用以下代码设置了Rspec测试:
require 'rspec'
require 'selenium-webdriver'
describe 'My zoo site' do
it 'should open browser and click on contact' do
# create a webdriver driver
driver = Selenium::WebDriver.for(:firefox)
end
end
当我运行此测试代码时,出现以下错误:
Selenium::WebDriver::Error::WebDriverError:
Unable to find Mozilla geckodriver.
Please download the server from https://github.com/mozilla/geckodriver/releases
and place it somewhere on your PATH.
More info at https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver.
因此,在看到此错误后,我按照指示前往geckodriver releases url,并为windows 32bit下载了geckodriver-v0.17.0文件。
我将名为geckodriver.exe的exectuable文件放在以下目录中:C:\ geckodriver \ geckodriver.exe
然后我进入了我的电脑 - >属性 - >高级系统设置 - >环境变量 - >路径(在系统变量中)我添加了C:\ geckodriver \ geckodriver.exe
然而,我仍然得到同样的错误。 我找到了一个similar question here,但解决了#34;安装selenium-webdriver版本2.53.0"没有为我解决。 (另请注意:我的Firefox版本是53.0.3。)我错过了什么吗?感谢
答案 0 :(得分:1)
您可以通过使用以下命令输出路径来检查命令行中的路径(可能是cmd.exe
)来解决此问题:
echo %path%
对于像git bash这样的东西,它可能更像是:
echo $PATH
无论如何,IMO它与您放入PATH的内容有关。
通常,你只需将目录放在那里,即。你只需说C:\geckodriver\
并省略可执行文件。
只要您可以从您的CMD拨打geckodriver
,RSpec也应该能够。
答案 1 :(得分:0)
将您的可执行文件与您的代码放在同一目录中。然后将可执行路径参数添加到您的 Firefox 对象中
myDriver=driver.Firefox(executable_path=os.getcwd()+"/geckodriver")
myDriver.get("someUrl.blabla") #Do something
只要确保你有操作系统导入
这样您就永远不必担心它是否在您的路径中。因为它已经在你的目录中了。如果您想与某人共享它或在另一台机器上运行它,这会让事情变得更容易。