Size: a a a

QA — Автоматизация

2019 October 22

LY

Lev Yarushin in QA — Автоматизация
Alexei Vinogradov
Ну так бывает. Там слишком много запросов, это как еще раз в тесте продублировать значительный кусок программы.
По-вашему лучше усложнить тесты, чтобы определить состояние? Или вообще пропустить тесты если состояние не то?
По-моему лучше такой тест пренести на уровень ниже, с возможностью управлять состоянием.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Lev Yarushin
По-вашему лучше усложнить тесты, чтобы определить состояние? Или вообще пропустить тесты если состояние не то?
По-моему лучше такой тест пренести на уровень ниже, с возможностью управлять состоянием.
Состояние определять несложно. А если оно не то - то ничего более разумного пропуска я не вижу.
источник

LY

Lev Yarushin in QA — Автоматизация
Если пропускать - то можно совсем убрать. Тест который работает избирательно делает только хуже.
источник

EB

Evgenii B in QA — Автоматизация
Alexei Vinogradov
Придумался кейс, когда порядок выполнения тестов (но не зависимость) может быть не так уж и  плохо.

Систему через UI можно перевести из состояния А в состояние В и обратно. API которым можно было бы перевести начальное состояние в А или В - не существует. Два атомарных теста - один переводит из А в В, а второй из В в А. Они независимы и скипаются, если система в неправильном для данного теста состоянии. Если система обычно в состоянии А, то имеет смысл, чтобы порядок был А,В  - чтобы оба теста отработали за один проход.

Переубедите, что можно решить по другому?
Это вполне стандартный подход при CRUD тестировании .  Таким образом можно не беспокоиться о создании контекста для каждого теста . Достаточно снэпшота базы данных с боя +- полного, а дальше +- операции на удаление /создание даже за N прогонов не успеют истощить базу на тестовые данные
источник

AV

Alexei Vinogradov in QA — Автоматизация
Lev Yarushin
Если пропускать - то можно совсем убрать. Тест который работает избирательно делает только хуже.
Это называется прекондишн, вообще-то.
источник

EB

Evgenii B in QA — Автоматизация
Прекондишены пропуска обычно накладываются на какое-то время до фикса теста / неразумные системные параметры (неверный контекст работы теста, в котором тесту не суждено работать, но ты не отвечаешь за него и не контролируешь контекст, и потому скипаешь тест). Но не костылинг тестовой логики :)
источник

RB

Rostyslav Biliaiev in QA — Автоматизация
Привет
есть такой кейс
1. загрузить страницу
2. установить куки
3. поставить блокировку на определенный запрос
4. перезагрузить стр
Проблема в "пункт №3" не могу найти способ заблокировать отправку контретного АПИ запроса
кто-нибудь с таким сталкивался?
источник

EB

Evgenii B in QA — Автоматизация
Что значит заблокировать отправку? Может быть заблокировать получение ресурса потому что сессия не авторизована?

Ну и не забывайте добавлять ожидаемый результат в описании тест кейса.  Так понятнее что вы ожидаете увидеть и это уважительно по отношению к коллегам
источник

К

Капибара in QA — Автоматизация
Всем привет, пиишу на Java с реализацией PageObject и вот мне очень нужно разделить одну страницу на несколько классов, что бы было читаеме, но я хочу что бы я все методы мог вызывать из общей страницы. Что с этим делать? partial классов нет, множественного наследования то же ((
источник

MK

Mem Kekovich in QA — Автоматизация
Капибара
Всем привет, пиишу на Java с реализацией PageObject и вот мне очень нужно разделить одну страницу на несколько классов, что бы было читаеме, но я хочу что бы я все методы мог вызывать из общей страницы. Что с этим делать? partial классов нет, множественного наследования то же ((
композиция и агрегация
источник

AV

Alexei Vinogradov in QA — Автоматизация
Капибара
Всем привет, пиишу на Java с реализацией PageObject и вот мне очень нужно разделить одну страницу на несколько классов, что бы было читаеме, но я хочу что бы я все методы мог вызывать из общей страницы. Что с этим делать? partial классов нет, множественного наследования то же ((
А зачем вызывать из одной страницы?
источник

AV

Alexei Vinogradov in QA — Автоматизация
Делите на несколько классов и их и вызывайте, например.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Я так и делаю, называю widgetobject
источник

A

Anton in QA — Автоматизация
Alexei Vinogradov
Я так и делаю, называю widgetobject
а есть новая версия того доклада? =)
источник

К

Капибара in QA — Автоматизация
источник

К

Капибара in QA — Автоматизация
Просто я не создаю объект стр и потом его дергая. Я для каждого действия делаю новую старницу
источник

К

Капибара in QA — Автоматизация
источник

К

Капибара in QA — Автоматизация
И поэтому мне и композиция и агрегация не подходят, потому что мне нужно возвращать текущую страницу в каждом методе
источник

AV

Alexei Vinogradov in QA — Автоматизация
Капибара
И поэтому мне и композиция и агрегация не подходят, потому что мне нужно возвращать текущую страницу в каждом методе
А "нужно", потому что что?
источник

AV

Alexei Vinogradov in QA — Автоматизация
Anton
а есть новая версия того доклада? =)
Ноу. Я просто определился с названием для мини обьектов
источник