Size: a a a

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

2021 May 10

D

Dina in QA — Автоматизация
привет всем! Подскажите пжста может есть какой нибудь тул для проверки содержимого json апи реквеста? Т.е. мне надо при каждом реквесте убеждаться что содержимое респонса полное. Я поробовала использовать vcr но что-то не совсем понятно как он может сработать на разных енв и как он дейтсивтельно проверяет
источник

'

'sup in QA — Автоматизация
Авторизацию алерт не видел, не помню уже точно). Но это был сайт на внутренней сети
источник
2021 May 11

Н

Никита in QA — Автоматизация
окно доменной авторизации в браузере это виндовое. Заполнял через робот, если java. Когда гуглил, на питоне есть тож подобные либы для работы с таким окном.
источник

TK

Tanya Kolesnikova in QA — Автоматизация
Ребят, такой вопрос. Если UI тесты лежат в одном репо с основным проектом, должны ли эти тесты при старте предварительно запускать и само приложение (в частности предлагают это делать через навешивание SpringBoot аннотаций на тестовые классы 😲)?
Либо эти процессы должны быть независимыми? Само приложение разворачиваем отдельно, ui тесты запускаем отдельно, просто передавая им нужный урл? Как на практике делаете/делали бы?
источник

Y

Yorik in QA — Автоматизация
Ну на практике приложение и тесты должны стартовать отдельно. Как на примере у меня на проекте через тимсити джобы поднимается докер контейнер с приложением и уже потом в другом докере стартуют тесты которые обращаются к приложерию. Аналогично без докеров можно стартовать локально приложение и потом уже тесты на него
источник

АФ

Алексей Федоткин... in QA — Автоматизация
от процесса и от проекта зависит. Некоторые тесты могут в процессе своей работы сами собирать и запускать приложение. а потом гнать следующий слой тестов и тд.
источник

Y

Yorik in QA — Автоматизация
Возможно, но как по мне это странно что тесты делают какие-то манипуляции с приложением по его разворачиванию и т.п., по хорошему это должен быть отдельный независимый процесс со своими конфигурациями и  т.п. для большей гибкости
источник

АФ

Алексей Федоткин... in QA — Автоматизация
как я уже написал) все от проектов зависит. но соглашусь, чаще это независимые процессы, сборка AUT и прогон на нем тестов.  Но бывает что и в один пайп засунуто. тут уже от нужд и тд. и от того какие слои тестов.
источник

DS

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

D

Di in QA — Автоматизация
Всем привет,
Столкнулся с проблемой в пайпе гитлаба - спустя некоторое время UIные тесты начинают падать с таким эксепшеном - java.net.ConnectException: Connection refused (Connection refused)
В интернетах пишут, что связано с конекшеном с вебдрайвером селениума, я вот думаю, может там таймаут какой-то есть, который спустя условный час запрещает конект...

Никто не сталкивался с таким поведением?
источник

TK

Tanya Kolesnikova in QA — Автоматизация
Yorik, @fedotkinayu_QA , @dmytroslobodianiuk , спасибо большое за ответы. Еще раз утвердилась в мнении, что не вижу плюсов и необходимости зависимых запусков)
источник

КД

Камиль Дашдамиров... in QA — Автоматизация
Коллеги подскажите, есть страница с элементами, после добавления нового элемента как мне проверить что появился новый элемент
источник

КД

Камиль Дашдамиров... in QA — Автоматизация
источник

V

Vel in QA — Автоматизация
Проверить коллекцию на размер + название проверить
источник

D

Dina in QA — Автоматизация
ребята есть кто юзает vcrpy?
источник

YK

Yasha Kramarenko in QA — Автоматизация
Йоу) Продолжение вчерашней истории...

> Ребят, кто знает, какое официальное объяснение того, что в селениум вебдрайвере клик не проходит по элементу который перекрыт другим (ElementClickInterceptedException : element click intercepted: Element ... is not clickable at point (...). Other element would receive the click: ...)
> а clear, sendKeys проходят... Какая в этом задумка?

напомню, что с клиер/сендкис - разобрались - если они фокусабл, то пользователь и под оверлеем сможет до них дотабать, и поэтому реализация вебдрайвер протокола должна позволять ввод в поля.

Теперь же а заметил что действия через Actions, вот точно проверил на double-click – тоже проходят под оверлеем. Вопрос – такой же – почему? :)

В общем... уже разобрался кажется... Пишу тут, вдруг кому будет интересно... (Мне это полезно ибо у некоторых клиентов полно оверлеев, под которыми юзер должен ждать, и поэтому нужно четко понимать на какие команды вебдрайвера надо самостоятельно вешать проверки на interactability)

Цитаты из доки по протоколу (https://www.w3.org/TR/webdriver/):

> The Actions  API provides a low-level interface for providing virtualised device input to the web browser.

> The element interaction  commands provide a high-level instruction set for manipulating form controls. Unlike Actions, they will implicitly scroll elements into view and check that it is an interactable element.

И того, вебдрайвер проверяет на интеректабилити только клик, клиер и сендкис – первый на поинтер интеректабилити второй и третий - на кейбоард-интерактабилити (что сводиться примерно к проверке на фокусабилити). Actions же, по которому мы реализуем обычно свои даблклики и Ко – этих проверок не имеет, поэтому нужно проверять самому, и судя по всему не забывать о скрол инту вью.

Такие дела;)
источник

P

Pavel Korostin in QA — Автоматизация
тоже пару слов скажу)
если кратко, то есть тесты, которые должны стартовать приложение, а есть, которые не должны. все зависит от уровня тестирования
есть модульные (юнит) и модульные интеграционные. они лежат в одной репе с приложением и должны создать необходимый контекст для себя перед стартом. в спринге это как раз делается через @SpringBootTest и прочих аннотаций. на этом уровне можно прогнать очень много кейсов, они быстрые и очень стабильные. но у них есть минус - приложение работает не в естественном (для прода режиме), поэтому остается риск, которые покрывают на других уровнях
следющий уровень - системные тесты. они расположены отдельно от кода приложения, запускаются и "натравливаются" на уже работающее приложение.

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

BO

Boris Osipov in QA — Автоматизация
источник

P

Pavel Korostin in QA — Автоматизация
по-моему вы все немного усложняете) селениум это инструмент для, по сути, тестирования на уровне пользователя, тесты на нем должны быть такие, как будто пользователь работает. поэтому он так себя ведет - ждет interactable и прочее. Если пользователь не может что-то сделать, то селениум тоже это не будет делать
Если конкретно про оверлей говорить, то просто нужно дождаться пока он пропадет, потом продолжать взаимодействие
источник

TK

Tanya Kolesnikova in QA — Автоматизация
Спасибо. Позиционирую как системные. Предыдущий свой проект так и делала - ui тесты в отдельном прокте. Но иногда возникали ситуации, когда было бы удобно переиспользовать что-то из основного (скрипт очистки БД к примеру), а приходилось копипастить. Сейчас вот для новой подсистемы решили попробовать делать все в одном проекте.  При этом если запускать приложение отдельно, тесты отдельно, наверно тоже подойдет под рекомендуемую вами концепцию.
источник