试图将带有webelement
的变量添加到方法中,然后将此方法与.click
一起使用
def login_button
@browser.element(:class => /button radius button-demo/)
end
login_button.click
但是,仍然出现相同的错误:
未定义的局部变量或方法'login_button'PageObjects:Class(NameError)
但是,如果您这样做:
@browser.element(:class => /button radius button-demo/).click
没有将它添加到方法中,一切正常。
[Watir官方指南提供了向方法中添加变量的选项,但出于某种原因,我无法使其起作用:(
这是使用低调的页面对象的简单代码段。
require 'page-object'
class Login_Page
include PageObject
text_field(:user_name, css: "[name='username']")
text_field(:password, css: "[name='password']")
button(:sign_in, css: "button[type='submit']")
def click_on_sign_in
sign_in # default method is click for button element
# if you want to call click method
sign_in.wait_until(100, &:present?).click
# clicking using fire event
sign_in.wait_until(100, &:present?).fire_event :onclick
end
end
有关更多信息,请参考cheezy documentation。>>