如何在 ruby 中将字符串转换为对象引用
How to convert a string to an object reference in ruby
我想在小黄瓜步骤中获取页面名称,然后将其设置为对象引用(我想这就是它的名称。)然后我可以使用它与页面元素进行交互。在 ruby 中有更简单的方法吗?
When(/^I am on the (.*) page$/) do |page|
case page
when "home page"
@current_page = @home_page
when "my account page"
@current_page = @my_account_page
end
end
然后
When(/^I click the (.*)$/) do |element|
@current_page.send(element).click
end
您可以使用 instance_variable_get:
When(/^I am on the (.*) page$/) do |page|
@current_page = instance_variable_get("@#{page}")
end
如果 page
值与您的实例变量完美匹配,这将起作用,例如
page = "my_account_page"
# The following two lines are equivalent
instance_variable_get("@#{page}")
@my_account_page
我想在小黄瓜步骤中获取页面名称,然后将其设置为对象引用(我想这就是它的名称。)然后我可以使用它与页面元素进行交互。在 ruby 中有更简单的方法吗?
When(/^I am on the (.*) page$/) do |page|
case page
when "home page"
@current_page = @home_page
when "my account page"
@current_page = @my_account_page
end
end
然后
When(/^I click the (.*)$/) do |element|
@current_page.send(element).click
end
您可以使用 instance_variable_get:
When(/^I am on the (.*) page$/) do |page|
@current_page = instance_variable_get("@#{page}")
end
如果 page
值与您的实例变量完美匹配,这将起作用,例如
page = "my_account_page"
# The following two lines are equivalent
instance_variable_get("@#{page}")
@my_account_page