use*_*703 2 ruby testing webdriver watir cucumber
我有一个模块,我已经包含在我的主要课程中:
module GenericPage
def check_url=(page)
puts(page)
end
end
Run Code Online (Sandbox Code Playgroud)
我创建了一个我的类的新实例,我在Cucumber中调用它
require_relative '../../../support/helper_methods'
class FindYourDealerPage
include GenericPage
def initialize(browser)
@browser = browser
end
def search_location=(location)
@browser.text_field(:id, 'findDealerSearchField').set(location)
@browser.send_keys :tab, :enter
end
Run Code Online (Sandbox Code Playgroud)
黄瓜:
Given /^I am on the find your dealer page$/ do
@browser.goto 'www.google.com'
@dealer.check_url('www.google.com')
@dealer = FindYourDealerPage.new(@browser)
end
When /^I select a desired preference$/ do
end
Then /^my filtered selection should be submitted$/ do
end
Run Code Online (Sandbox Code Playgroud)
当这个运行时,我得到一个错误NoMethodError: undefined methodcheck_url'为nil:NilClass`我在哪里出错了,忘记方法中的内容我想知道为什么我收到这个错误
我想这个问题就在这里
@dealer.check_url('www.google.com')
@dealer = FindYourDealerPage.new(@browser)
Run Code Online (Sandbox Code Playgroud)
注意你check_url在分配之前如何调用@dealer...意味着你在进行方法调用时@dealer仍然是这样nil,这就是你获得NoMethodErrorfor 的原因nil:NilClass.
此外,你现在有def check_url=(page),但你打电话check_url(page).根据您在此处的意思,您需要更改定义def check_url(page)或更改呼叫@dealer.check_url = 'www.google.com'(我怀疑前者更合适).
| 归档时间: |
|
| 查看次数: |
1896 次 |
| 最近记录: |