Ruby реализация объекта страницы watir - PullRequest
0 голосов
/ 09 февраля 2020

Попытка добавить переменную с 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 предоставляет возможность добавления переменной к методу, но по какой-то причине я не могу заставить его работать :(

1 Ответ

0 голосов
/ 09 февраля 2020

Вот простой фрагмент кода с использованием объекта cheezy page.

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 документации .

...