Size: a a a

JavaScript testing

2021 August 10

SK

Sergei Kramskoi in JavaScript testing
Кстати, вопрос в догонку, как быстро у вас запускаются тесты на чистом jest?
источник

SK

Sergei Kramskoi in JavaScript testing
Устроит субъективная оценка вида "не так быстро как хотелось бы" или "охренеть как быстро, я моргнуть не успеваю" 🙃
источник

A

Alex in JavaScript testing
А как вы переделали пейдж объекты после того как выпилили пресет ?
источник

A

Alex in JavaScript testing
Пейдж в конструктор передаёт?
источник

MC

Max Chepil in JavaScript testing
На вскидку, так же долго как и с пресетом. Подумываю о миграции на pw раннер, но это уже ближе к зиме
источник

MC

Max Chepil in JavaScript testing
Мы прописываем через аргументы, но можно было и глобальный юзать. Аргументы решили использовать для прозрачности + легче мигрировать на pw test. Имхо
источник

A

Alex in JavaScript testing
Т.е все все пейджи передаёте Пейдж?
источник

SK

Sergei Kramskoi in JavaScript testing
Эх, очень плохо :( Я просто периодически почти плакать от этого хочу и в периоды таких депрессий пробую как-то пролечить это дело. И, честно говоря, из того что я пытался надебажить или нагуглить - ничего хорошего ждать не стоит. У них висят разные ишьюсы на тему скорости запуска, в которых можно найти эврситики вида "если в конфиг еще скормить вот это, то может и поможет"...

Тоже думаю мигрировать либо на pw, либо на mocha. Для pw что смущает, я пока не добрался до разбора запуска параллельных тестов у них. Не смотрел можно ли там запилить программатично раннер, чтобы как раз решать вопросы распределения тестов по потокам.
источник

MC

Max Chepil in JavaScript testing
Да, но опять же, этого можно и не делать, а вызвать в конструкторе глобал Пейдж, но мы решили прокидывать как аргумент, т.к. уже тогда pw test показывал, что Пейдж должен быть одним из аргументов для test. Пытались подложить солому на будущее. + От прокидывания Пейдж как аргумента, можно использовать pw по полной. Работая с 3мя браузерами в одном тесте, если в тесте нужно 3 разных изолированных друг от друга контекста. При пресете 1.61, этого сделать нельзя было
источник

K

Kanstantsin in JavaScript testing
кто-нибудь сталкивался с такой хернёй, что при сохранении страницы в pdf вместо фоток каталога вставляется какая-то кастомная картинка? как в плейврайте это обойти?
источник

MC

Max Chepil in JavaScript testing
А отказались от пресета, т.к. с нашей точки зрения это лишний слой в тест раннер, который ограничивает работу с pw. Я конечно могу ошибаться, но решил поделиться информацией.
источник

SK

Sergei Kramskoi in JavaScript testing
Кажется, у меня миллион вопрос (когда нашел человека, который в том же сетапе что и ты) 😱
А как у вас тесты в параллель запускаются?
Отдельно поднимается браузер сервер и потом к нему подключаются потоки за своим контекстом? Или каждый поток поднимает свой инстанс бразуера? И вы как-то распределяете тесты по потокам или просто как jest раскидал так и гоняются?
источник

MC

Max Chepil in JavaScript testing
Как жест раскидал, так и гоняються. Но на агенте где 4 ядра больше 2х потоков уже сложно запускать, т.к. жест берет 1 ядро для одного потока и одно ядро для мейн треда - итого в 3 потока уже дольше чем в 2, при 4 ядрах
источник

SK

Sergei Kramskoi in JavaScript testing
Понял, спасибо!
У нас 48 ядер, гоняем в 32 потока (16 потоков на CodeceptJS - старый сетап и 16 потоков на playwright + jest-preset). Сейчас 270 тестов ходят за 5 минут. Для нас это уже критичный треш-холд по времени, поэтому дальше только крутиться в области собственного распределения тестов по потокам :(
источник

MC

Max Chepil in JavaScript testing
270 тестов === 270 тест сьютов/дискрайбов в одном файле?
источник

SK

Sergei Kramskoi in JavaScript testing
Не, 270 тестов = 270 it(). Иногда в файлах может быть по 3-5 it(), может быть 1-2.
Если бы было бы 270 интеграционных браузерных тестов в одном файле я бы полил себя бензином и поджег :)
источник
2021 August 11

VL

Volodymyr Litvinchuk in JavaScript testing
Можливо хтось використовує wdio-mochawesome-reporter + mochawesome-report-generator(цікавить саме використання з Webdriver.io)
Так виглядає, що документація https://webdriver.io/docs/wdio-mochawesome-reporter уже застаріла
Виконую усі степи, але так і не можу згенерувати html репорт

Маю кілька проблем
1. Після ранення тестів через wdio тест раннер генерується файл з розширенням .log(щось типу wdio-0-0-mochawesome-reporter.log), хоча  мав би генеруватися файл з розширенням .json
2. Лише якщо у конфіг файлі зазначити потрібний формат файлу тоді згенериться файл з розширенням .json. Після цього виникає проблема коли намагаюся виконати команду marge, щоб згенерувати  html репорт. Постійно вилітає помилка - ✘ Some files could not be processed:
results/testResults.json

Якщо хтось має якусь новішу інформацію про те як коректно використовувати цей репортер з webdriver.io будь ласка поділіться
источник

SJ

Sonny Joon in JavaScript testing
а можно это же дело ещё и с дженкинсом интегрировать, чтобы человек нажимал собрать с параметрами указывал нужный тег и запускались только нужные тесты?)
источник

O

Olga in JavaScript testing
С дженкинсом не подскажу, а вот с тимсити или azure pipelines конечно можно. Или отдельную команду запуска делаете, или спускаете имя тега как параметр. В Дженккинс наверное есть что-то похожее
источник

DD

Danya Daniil in JavaScript testing
Можно, доп настройка мульти стринг вроде, куда ты передвешь переменную и вэлуе
источник