我尝试使用带有Eclipse的Selenium WebDriver的ruby进行BrowserStack自动化测试。
以下是我试图运行的代码:
require 'rubygems'
require 'selenium-webdriver'
# Input capabilities
caps = Selenium::WebDriver::Remote::Capabilities.new
caps["browser"] = "IE"
caps["browser_version"] = "7.0"
caps["os"] = "Windows"
caps["os_version"] = "XP"
caps["browserstack.debug"] = "true"
caps[:name] = "Testing Selenium 2 with Ruby on BrowserStack"
driver = Selenium::WebDriver.for(:remote,
:url => "http://xxxxxxxxxxxxx:xxxxxxxxxxxxxx@hub.browserstack.com/wd/hub",
:desired_capabilities => caps)
driver.navigate.to "http://www.google.com/ncr"
element = driver.find_element(:name, 'q')
element.send_keys "BrowserStack"
element.submit
puts driver.title
driver.quit
以下是我遇到的错误:
/Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- selenium-webdriver (LoadError)
from /Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/user/Documents/workspace/Lowfares/ie/wintest.rb:2:in `<main>'
答案 0 :(得分:3)
在我的情况下,它有助于将以下内容添加到我的gem文件
gem'selenium-webdriver
然后运行“bundle install”
答案 1 :(得分:2)
我意识到当您安装selenium时,您需要运行sudo gem install selenium-webdriver
以便应用程序访问它。
答案 2 :(得分:1)
这是因为,库未全局安装
sudo gem install --no-user-install selenium-webdriver
以上命令在ruby-2.3.1@global
答案 3 :(得分:0)
当我使用Sublime Text 2时,我遇到了同样的错误,并尝试使用&#39; build&#39;按钮。但是当我从命令提示符运行它时脚本运行正常。
它更多地与分配给编辑器的路径有关。虽然快速检查你的宝石列表,看看是否存在selenium - webdriver。
答案 4 :(得分:0)
更换笔记本电脑时遇到了同样的问题。
对我而言,这就是道路。在日食: 选择'Window'然后选择'Preferences'然后选择'Ruby'和'Interpreters' 确保选择的解释器指向安装.exe of ruby
如果您知道,可以进行搜索或浏览路径。
一旦我解决了这个问题,我就开始运行了: - )
答案 5 :(得分:0)
就我而言,我遇到了多个此类错误,包括cannot load such file — selenium-webdriver (LoadError)
。在使用MSYS2开发工具链安装Ruby开发套件后,该问题已解决。以下是执行的步骤:
依次对所有三个MSYS2安装进行顺序
1-MSYS2基本安装
2-MSYS2系统更新(可选)
3-MSYS2和MINGW开发工具链
应安装哪些组件?如果不确定,请按ENTER [1,2,3]
选中了Ruby SDK。在Ruby-mine上,它位于Run-> Edit Configuration
使用gem install selenium-webdriver
答案 6 :(得分:-2)
就我而言,我使用的是Bundler,所以只需将require bundler/setup
添加到顶部即可解决问题。希望能帮助别人。