【发布时间】:2013-06-17 06:02:18
【问题描述】:
一个小问题我对 Ruby 还很陌生,我有一个包含其他类(组合)实例的类
我正在尝试访问 Cucumber 中的类实例,但一直返回错误 nil:NilClass (NoMethodError) 的未定义方法 `bk' 'bk' 方法位于 interior 类 我猜这个错误是因为 Cucumber 无法访问 Interior 类。 设计这个或合适的解决方案的最佳方式是什么?
class CarConfig
def initialize(browser, wait)
@browser = browser
@wait = wait
@equipments = Equipment.new(@browser)
@interior = Interior.new(@browser)
@engines = Engines.new(@browser)
@exterior = Exterior.new(@browser)
@grades = Grades.new(@browser)
end
def click_comfort
@browser.find_element(:css, 'a.xdata-id-Comfort').click
end
def check_equipment
equipment_availability = []
equipment_not_available = " equipment not available"
equipment_currently_available = "equipment available"
equipment = [@equipments.lifestyle,@equipments.elegance, @equipments.comfort, @equipments.executive, @equipments.luxury,
@equipments.innova].each do
end
equipment_availability.push equipment
if "#{equipment_availability}".include? "disabled"
equipment_not_available
else
equipment_currently_available
end
结束
Cucumber
Given /^I have selected Comfort$/ do
@car_configurator = CarConfig.new(@browser, @wait)
@browser.get $car_config_page
sleep(2)
@car_configurator.click_comfort
sleep(3)
end
Then /^I should see interior BK as available$/ do
@interior.bk.should_not include ("disabled"), ("selected")
end
【问题讨论】:
标签: ruby automation webdriver cucumber bdd