我正在处理问题而无法找到智能解决方案。简而言之:想象一下,我们在页面对象中定义了许多文本字段元素:
text_field(:txt_field_1, id: 'field1')
text_field(:txt_field_2, id: 'field2')
....
我可以轻松填写一个字段:
def fill_field1(content)
self.txt_field_1 = content
end
......调用方法:
fill_field1('John Doe')
我正在寻找的是使用一个独特的方法填充多个字段,使用页面对象元素名称作为方法参数,例如:
def fill_fields(field, content)
self.field = content
end
...并以这种方式调用方法:
fill_fields('txt_field_1', 'John Doe')
上面的示例因“未定义的方法”错误而失败。我尝试使用像send()
这样的self.send('field') = 'John Doe'
方法失败了。我很确定有办法实现这个目标......你能不能对这个问题有所了解?
答案 0 :(得分:2)
根据示例,您可以使用populate_page_with
方法内置的页面对象gem。假设文本字段已在页面对象中定义,则可以执行以下操作:
example_page.populate_page_with :txt_field_1 => 'John Doe'
或者做多个字段,如:
example_page.populate_page_with :txt_field_1 => 'John Doe', :txt_field_2 => 'Jane Doe'