nil的未定义方法`delete':在linux下使用NilClass(NoMethodError)capybara,selenium-webdriver和firefox

时间:2017-04-05 13:27:19

标签: selenium-webdriver cucumber capybara archlinux

我写作是因为我在使用黄瓜和水豚进行测试时遇到了麻烦。我正在使用capybara框架与selenium驱动程序。这是我的env.rb

position <- grep('\\*', as.matrix(distress[]))
selectedValues <- as.matrix(distress[])[position] 
numericValues <- as.numeric(gsub('\*', '', selectedValues))

这是我的steps.rb文件

require 'capybara/cucumber'

Capybara.default_driver = :selenium

这是我获得的输出。我尝试在Mac系统中使用黄瓜执行相同的文件,它可以工作。我正在使用Arch Linux(antergos)和内核版本4.10.6-1-ARCH#1 SMP PREEMPT

Given (/^I am on Youtube$/) do 
  visit "http://www.youtube.com"
end

When (/^I fill in "([^"]*)" with "([^"]*)"$/) do |field, value|
  fill_in(field, :with => value)
end

When (/^I press "([^"]*)"$/) do |button|
  click_button(button)
end

Then (/^I should see "([^"]*)"$/) do |text|
  page.should have_content(text)
end

注意:当我运行cucumber命令时,会打开一个新的firefox窗口,但是我看到终端中提到的错误并且测试没有继续。

提前谢谢大家。

1 个答案:

答案 0 :(得分:0)

我有这个问题。它发生在selenium-webdriver和Firefox版本不匹配时。由于Firefox经常更新,您将不时收到此错误。如果你更新你的selenium-web它应该解决问题。它确实适合我。