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

Фотография

Как отследить появление элемента в любом месте любого теста


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

#1 GraF_VS

GraF_VS

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

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Соколов Василий Евгеньевич

Отправлено 01 ноября 2017 - 14:01

Как здесь принято начинать новые темы: Я новичок в автотестировании, прошу помощи) Теперь к сути:

 

Дано: есть фреймворк на Java с Cucumber и Gherkin. В нём есть чёртова куча .feature тестов.

В этих .feature тестах расписаны шаги, они ссылаются на методы в классах steps, а те в свою очередь ссылаются на методы в классах pages.

 

Проблема: во время прохождения автотестов на страницах в браузере может появляться иконка загрузки - она появляется при подгрузке информации на странице, может возникать как при шагах "перейти на страницу", так и на "пользователь вводит в поле", или "пользователь нажимает на кнопку". Короче говоря практически при любом шаге. При появлении этой иконки всё содержимое страницы становится неактивно до тех пор, пока иконка не исчезает. 

 

Задача: Сделать так, чтобы каждый раз при появлении иконки ожидания тест дожидался её исчезновения.

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

 

Вопрос: как можно малой кровью добавить этот метод в каждый шаг каждого теста? В каком "направлении" погуглить, как похожую проблему Вы решали на своих проектах?

 

Заранее спасибо за помощь. Надеюсь, сильно пинать не будете - я ж ещё только учусь)


  • 0

#2 Spock

Spock

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

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

Отправлено 01 ноября 2017 - 14:43

сами тесты должны ничего не знать об этом спиннере

 

все ожидания вставлять в методы и классы самих страниц

 

например, тест на геркине вводит текст

значит код который под тестом должен обеспечить и ввод текста и ожидание если появится спиннер


  • 0

#3 GraF_VS

GraF_VS

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

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Соколов Василий Евгеньевич

Отправлено 01 ноября 2017 - 14:49

сами тесты должны ничего не знать об этом спиннере

 

все ожидания вставлять в методы и классы самих страниц

 

например, тест на геркине вводит текст

значит код который под тестом должен обеспечить и ввод текста и ожидание если появится спиннер

да, но это ведь и получается переписывать все методы. Ну то есть на каждой странице в каждом методе добавить по строчке "if (спиннер есть){метод от спиннера};".

Проблема ещё и в том, что страниц и методов очень много. Вот потому и ищу более элегантное решение


  • 0

#4 Spock

Spock

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

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

Отправлено 01 ноября 2017 - 14:58

 

да, но это ведь и получается переписывать все методы. Ну то есть на каждой странице в каждом методе добавить по строчке "if (спиннер есть){метод от спиннера};".

Проблема ещё и в том, что страниц и методов очень много. Вот потому и ищу более элегантное решение

создать базовый класс или что там "ожидания спиннера"

 

а все методы в которых может случиться спиннер - объявлять как наследованные или расширяющие тот класс ожидания спиннера

 

пысы. извиняюсь за неточное название классов методов и наследования


  • 0


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

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