我正在处理一个问题,无法找到智能解决方案。简而
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')
我正在寻找的是使用使用Page-Object元素名称作为方法参数填充多个字段的唯一方法,例如:
def fill_fields(field, content)
self.field = content
end
...并以这种方式调用该方法:
fill_fields('txt_field_1', 'John Doe')
上面的示例以"未定义方法"错误失败。我尝试使用send()
方法,例如self.send('field') = 'John Doe'
失败。我很确定可以做到这一点...您能为这个问题提供一些启示吗?
基于示例,您可以使用page-object gem内置的 populate_page_with
方法。假设文本字段已经在页面对象中定义了,那么您可以执行:
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'