我是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會顯示的網頁。 –