Ruby watir页面对象实现

问题描述 投票:0回答:1

试图将带有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官方指南提供了向方法中添加变量的选项,但出于某种原因,我无法使其起作用:(

ruby watir pageobjects
1个回答
0
投票

这是使用低调的页面对象的简单代码段。

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。>>

© www.soinside.com 2019 - 2024. All rights reserved.