我是RubyMine的新手,试图调试一个我自己没写过的项目。RubyMine - NoMethodError:未定义的方法'get'for nil:nilClass - Webdriver UserAgent
运行Project.feature时发生错误,并且它停在第一行“由于我访问本网站”。
"NoMethodError: Undefined method 'get' for nil:nilClass" in filepath/Common_steps_json.rb:14 in '/^I go to this website$'
要提供的链接,它指引我到我的Common_steps_json.rb文件,其中写的代码是
Given /^I go to this website$/ do
@driver.get 'https://www.somewebsite.com/field1/field2/'
sleep 3
end
我相信这是一个使用硒的webdriver导航到一个URL的正确格式。所以这促使我检查环境文件env.rb以查看驱动程序是如何被调用的。我在那里找到了。
require "selenium-webdriver"
require "webdriver-user-agent"
.
.
.
Before('@driver_iphone_portrait') do
@driver = UserAgent.driver(:browser => :firefox, :agent => :iphone, :orientation => :portrait)
@base_url = 'https://www.somewebsite.com/'
@driver.manage.timeouts.implicit_wait = 2
@verification_errors = []
end
我检查这个link以确保硒webdriver的用户代理正确地叫,但我不能肯定它是。我用交互式Ruby来看看我是否能使用UserAgent.Driver格式调用驱动程序,但它遇到了一个错误
NameError: uninitialized constant UserAgent
如果任何人有关于如何正确格式的UserAgent的RubyMine的任何意见,我将不胜感激。谢谢!
谢谢bgoad!我不知道代码中使用的宝石是贬值的。该解决方法做了一个辉煌的工作,设置@driver以显示Iphone会显示的网页。 –