我正在使用pageobjects并希望参数化传递的元素。
下面的步骤正常:
text_field(:username, :id => "loginUserName")
And(/^I enter (.*) for username in LoginPage$/) do |data, actual_field|
on_page @current_page do |page|
page.username_element.set data
end
但我想参数化元素名称:
And(/^I enter (.*) for (.*) in LoginPage$/) do |data, actual_field|
on_page @current_page do |page|
page.get_element(actual_field).set data
end
我应该写什么方法来返回username_element
def get_element(element_name)
return "#{element_name}+'_element'"
end
此方法返回字符串" username_element"所以它不起作用。
任何建议......
答案 0 :(得分:1)
您可以使用send
方法调用基于String的方法:
page.send("#{actual_field}_element").set data