Перейти к содержимому

Фотография

Немедленная отправка данных формы на сервер - как ее отключить?

Watir Ruby автотесты PageObject

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 jul_ash

jul_ash

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Юлия
  • Город:Омск


Отправлено 31 августа 2015 - 04:58

Здравствуйте!

Я пишу автотесты на Watir, для красоты хочу использовать PageObject.  И столкнулась с таким поведением формы.

 

1) Форма содержит только одно поле (email) и кнопку (submit). Соответственно, класс будет выглядеть как-то так:

class HomePage  
  include PageObject  
  page_url 'http://site.com'

  DEFAULT_DATA = {       
    'subscriber' => 'fun@yandex.ru',
  }

  text_field(:subscriber, id: "js-input-email-sub")
  button(:subscribe, id: "js-submit-sub")  
  div(:error,  id: "js-response-sub")  
   
  def default(data = {})
    populate_page_with DEFAULT_DATA.merge(data)  
    subscribe
  end  
end

2) Теперь пишем автотесты. Если написать

page = HomePage.new(browser, true)      
page.subscriber_element.when_visible
page.subscriber = email
page.subscribe          
expect(page.error_element.visible?).to be_falsey

то при вводе хорошего email получаем сообщение о том, что наш  email  добавлен в базу (page.error_element.visible? == false) и потом сразу видим сообщение о том, что поле email не может быть пустым (page.error_element.visible? == true) и вроде бы правильный тест падает. 

 

Если же строчку page.subscribe убрать, то сообщения о пустом email не будет. То  есть, как я понимаю, данные сами ушли на сервер.

 

В общем, чего  я хочу узнать. Можно ли как-то принудительно заставить форму ждать нажатия кнопки submit?  

 

 


  • 0



Темы с аналогичным тегами Watir, Ruby, автотесты, PageObject

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных