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

Фотография

Жалобы на жизнь: код автотестов


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

#1 July Kuzmicheva

July Kuzmicheva

    Специалист

  • Members
  • PipPipPipPipPip
  • 518 сообщений

Отправлено 29 августа 2018 - 08:11

Автор: Энди Найт (Andy Knight)

 

Оригинал статьи

 

Перевод: Ольга Алифанова

Код тестов должен разрабатываться согласно таким же высоким стандартам, как и код продукта, но про это зачастую забывают. Это серьезно меня беспокоит, и стоит значительных временных и финансовых затрат благодаря своим последствиям. У меня много вопросов к плохому коду автотестов, и сейчас вы узнаете про это все!

 

Читать публикацию полностью


  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 29 августа 2018 - 09:37

 

 

Hard Waits

Ain’t nobody got time for that! Automation needs to be fast, because time is money. Forcing Thread.sleep (or other such equivalent in your language of choice) shows either laziness or desperation. It unnecessarily wastes precious runtime. It also creates race conditions: what if the wait time ends before the thing is ready? Always use “smart” waits – actively and repeatedly check the system at short intervals for the thing to be ready, and abort after a healthy timeout value.

наверное при текущих технологиях - а именно сложные веб-элементы и асинхронная загрузка страниц, хард-вэйты именно необходимы, но небольшие и когда надо

 

например в тесте нам надо нажать кнопку на странице, мы "по лучшим практикам" пишем ожидание пока кнопка будет кликабельной и потом кликаем. Вроде работает, но например в 1 случае из 10 тест фейлится, так как кликнули но результата не было. 

Тогда после ожидания кликабельности добавляем хард-вэйт пол-секунды (ну либо секунду в крайнем случае), и тогда тест начинает работает стабильно

 

получается что ожидание только "кликабельности кнопки" ещё не гарантирует стабильную работу теста, кнопка должна ещё и реально "подгрузится и стать рабочей", то есть подгрузится должна и кнопка и тот функционал которым управляет кнопка

 


  • 0


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

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