Size: a a a

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

2019 October 24

A

Alex in QA — Автоматизация
Max
Всем привет, не могу решить проблему и найти причину, может кто-то на опыте сможет подсказать куда копнуть.
Используется Java+Selenium+Maven+TestNG
При паралельном запуске теста от 3-х паралелей и больше, очень часто бывает что одно из окон браузера открывается и сразу зависает (открывается и ни чего не происходит), а в другое окно браузера  вводиться в поле два текста в перемешку методом sendKeys, один из текстов который должен был ввестись там где завис браузер. Как буд-то браузер открывается и сразу переключается акцент на другое окно

Распаралеливание происходит из xml файла, для данных передаваемых через датапровайдер в тесте

P.S. статик объектов драйвера в коде нет
http://prntscr.com/pnl6rc
всё же покажи как создается драйвер
источник

M

Max in QA — Автоматизация
Alex
всё же покажи как создается драйвер
источник

S

Stanislav in QA — Автоматизация
Vel
Посмотрите wiremock,  там все довольно просто
Спасибо, посмотрел. Но это не то, что мне нужно. Мне нужно именно перехватывать запросы, чтобы те даже не доходили до сервера. Иначе если использовать мок-сервер, то его придется поднимать на всех тестовых стендах, где будут гоняться тесты. Мне нужно как на второй картинке - https://octopus.com/blog/selenium/14-modifying-http-requests/modifying-http-requests
источник

S

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

MK

Mem Kekovich in QA — Автоматизация
ну так напишите свою проксю внутри проекта с тестами и через нее проксируйте вызовы и отвечайте заглушками своими
источник

A

Anton in QA — Автоматизация
Max
Всем привет, не могу решить проблему и найти причину, может кто-то на опыте сможет подсказать куда копнуть.
Используется Java+Selenium+Maven+TestNG
При паралельном запуске теста от 3-х паралелей и больше, очень часто бывает что одно из окон браузера открывается и сразу зависает (открывается и ни чего не происходит), а в другое окно браузера  вводиться в поле два текста в перемешку методом sendKeys, один из текстов который должен был ввестись там где завис браузер. Как буд-то браузер открывается и сразу переключается акцент на другое окно

Распаралеливание происходит из xml файла, для данных передаваемых через датапровайдер в тесте

P.S. статик объектов драйвера в коде нет
http://prntscr.com/pnl6rc
если параллели задать в maven surefire, там есть forkCount, и проблемы уйдут. Либо переписывайте код на всякие ThreadLocal хз как =) Из xml файла этот параметр никак не задать
источник

S

Stanislav in QA — Автоматизация
Mem Kekovich
ну так напишите свою проксю внутри проекта с тестами и через нее проксируйте вызовы и отвечайте заглушками своими
Зачем свою писать. если уже есть - http://bmp.lightbody.net/
С ней только одна проблема - не могу с ее помощью перехватить XHR запросы, которые выполняются JS скриптом. В консоле разработчика в хроме огни есть (вкладка  network), а bmp их не видит и не перехватывает.
источник

AS

Andrei Solntsev in QA — Автоматизация
Да не может быть. BMP все запросы должен видеть.
источник

S

Stanislav in QA — Автоматизация
Andrei Solntsev
Да не может быть. BMP все запросы должен видеть.
Вот и я о том же, но не видит7 У меня такая структура - первым запросом я обращаюсь к бандлу JS, который потом отправляет XHR реквесты, вот почему-то их bmp не видит, ну или я не так настроил.
источник

S

Stanislav in QA — Автоматизация
Ловлю так:
void changeRespByReq(BrowserMobProxy proxy) {
       proxy.addRequestFilter(new RequestFilter() {
           @Override
           public HttpResponse filterRequest(HttpRequest request, HttpMessageContents contents, HttpMessageInfo messageInfo) {

               if(messageInfo.getOriginalUrl().contains("parameters")){
                   System.out.println("запрос parameters перехвачен");
               }

               .....
источник

A

Anton in QA — Автоматизация
Max да там дублировалось threadCount, а надо forkCount
источник

M

Max in QA — Автоматизация
Anton
Max да там дублировалось threadCount, а надо forkCount
угу, увидел, спасибо, сейчас пробую )
источник

M

Max in QA — Автоматизация
Anton
Max да там дублировалось threadCount, а надо forkCount
всё ещё есть где-то у меня проклол

Запускаю сейчас вот  так, указа в forkCount 3, но при старте почему-то запускается не 3, а 6+ окон, и проблема актуальна пока
http://prntscr.com/pnmbdg
источник

A

Anton in QA — Автоматизация
Max
всё ещё есть где-то у меня проклол

Запускаю сейчас вот  так, указа в forkCount 3, но при старте почему-то запускается не 3, а 6+ окон, и проблема актуальна пока
http://prntscr.com/pnmbdg
нужны оба параметра
источник

A

Anton in QA — Автоматизация
<threadCount>3</threadCount>
<forkCount>3</forkCount>
источник

AS

Andrei Solntsev in QA — Автоматизация
Stanislav
Вот и я о том же, но не видит7 У меня такая структура - первым запросом я обращаюсь к бандлу JS, который потом отправляет XHR реквесты, вот почему-то их bmp не видит, ну или я не так настроил.
А если этот IF убрать?
источник

M

Max in QA — Автоматизация
Anton
нужны оба параметра
Попробовал ещё так, в итоге почему-то запускается около 8 окон, хотя указал 3, и проблема не уходит
http://prntscr.com/pnmjcr
источник

S

Stanislav in QA — Автоматизация
Andrei Solntsev
А если этот IF убрать?
Убрал, но все равно не видит запросы. Добавил в фильт вывод УРЛа при запросе:
System.out.println("getOriginalUrl - " + messageInfo.getOriginalUrl());
не выводит все урлы, которые есть в консоле разработчика в хроме
источник

A

Anton in QA — Автоматизация
Max
Попробовал ещё так, в итоге почему-то запускается около 8 окон, хотя указал 3, и проблема не уходит
http://prntscr.com/pnmjcr
данная настройка для мавена, и работает если вы запускаете тесты мавеном. А вы как запускаете?
источник

M

Max in QA — Автоматизация
Anton
данная настройка для мавена, и работает если вы запускаете тесты мавеном. А вы как запускаете?
кликом на test, верно ?)
http://prntscr.com/pnmlbn
источник