无法在 ruby 中使用页面对象模型进行设置

Cannot set using Page Object Model in ruby

用户已经在 LoginPage 上并且想要使用页面对象技术输入用户名。

我已经在 LoginPage class 中描述了该元素,并在步骤定义页面中使用了相同的元素。

我想使用页面对象模型对元素执行一些操作,但是当 运行 使用功能文件时,它会抛出错误“undefined methodset' for “”:String。“`

class LoginPage

  text_field(:userfield, :name => 'email')
  text_field(:passfield, :name => 'password')
  button(:submit, :type => 'submit')
end

Step definition uses :

And(/^a user logs in$/) do

on LoginPage do |page|
    page.userfield.set "username"
end

对于页面对象 gem,文本字段访问器添加了一个方法 #userfield,该方法 return 是文本字段的当前值。它不是 return 实际元素。为此,您需要调用 #userfield_element.

要设置字段,需要#userfield=方法:

page.userfield = "username"