Size: a a a

2020 September 25

B

Bola in JS for testing
???
источник

OK

Oleksandr Khotemskyi in JS for testing
Bola
???
источник

OK

Oleksandr Khotemskyi in JS for testing
получается что-то вроде такого в отчете -
источник

OK

Oleksandr Khotemskyi in JS for testing
не самое красивое что можно сделать но я пока не парюсь, если что потом доделаю
источник

B

Bola in JS for testing
хм
а я немного о том, что jest может потерять источник ошибки и не показать путь к файлу с самим тестом со строкой, где возникла ошибка
источник

OK

Oleksandr Khotemskyi in JS for testing
самое главное что стектрейс правильный, и можно тупо копипастить в ide, source maps и строка все правильно
источник

B

Bola in JS for testing
аа, вижу
источник

OK

Oleksandr Khotemskyi in JS for testing
Bola
хм
а я немного о том, что jest может потерять источник ошибки и не показать путь к файлу с самим тестом со строкой, где возникла ошибка
правильно, это из-за асинхронного вызова. Я для этого сохраняю стек до запроса, а потом подменяю стек если была ошибка
источник

OK

Oleksandr Khotemskyi in JS for testing
типичная проблема кстати, это не связано с got или jest
источник

OK

Oleksandr Khotemskyi in JS for testing
Bola
аа, вижу
я про это кстати говорил на докладе по explicit wait 🙂 там та же проблема
источник

OK

Oleksandr Khotemskyi in JS for testing
источник

OK

Oleksandr Khotemskyi in JS for testing
32 минута
источник

GC

Grzegorz Brzęczyszcz... in JS for testing
Oleksandr Pelykh
если одноразовый, то перезагрузите страницу и сразу выполняйте функцию-поиск элемента на странице внутри цикла с периодичностью 10-100мс
document.querySelector('selector')
так в итоге и сделал: плагин для js injection, а там функция с таймаутом в 100мс:
if (!button) { window.setTimeout(waitForMyAccountButton, 100); return;}
источник
2020 September 26

AK

Alexander Koptyaev in JS for testing
Mike
Всем привет!
Разработчик пришел с просьбой сделать автотесты на проверку ошибок 301 и 401 по всем ссылкам товаров
Ссылок чуть менее 27000🙈

И я не особо понимаю как это вообще можно реализовать
Очевидно, что it'ы я не наделаю, точнее я поеду кукухой и потрачу месяцы

Сам прогон будет занимать около 9 часов, что немного не укалдывается в таймауты моки, не знаю можно ли их вообще раздвинуть так? Стандартный вроде минута

Получается мне надо из файла(он есть) вытаскивать ссылки по очереди, подставлять их в проверяющую конструкцию - но я совершенно не представляю как это реализовать

Если кто-то делал или есть идеи - буду признателен

Сейчас пишу на wdio+mocha+chai
Нашел вот такое решение, но оно скорее точечное
https://webdriver.io/docs/wdio-intercept-service.html
ок, буду первым: на 95% уверен, что нет повода проверять каждый продукт — имхо достаточно разбить продукты на классы эквивалентности (наборы всяко условий включенности продукта/категории, сегментов пользователей, допустимое/недопустимое qty и т.д.) и подёргать по одному продукту из каждого класса (ну и плюс по одному с каждой границы классов, если границы есть).
Спросите у своего разраба: «Какие причины сподвигнули запросить сведения по каждому продукту?». Сегодня просит статус-код страницы каждого продукта, а завтра попросит создать заказ на каждый. Послезавтра продуктов станет стопицот. Нужно узнать мотивы.

Вполне возможно, что будет достаточным (а может и более полезным) в kibana/newrelic/подобному настроить нотификации при энной частоте возникновения 3xx (?, загадка чем провинился) и 4xx на эмном эндпоинте
источник

OK

Oleksandr Khotemskyi in JS for testing
Alexander Koptyaev
ок, буду первым: на 95% уверен, что нет повода проверять каждый продукт — имхо достаточно разбить продукты на классы эквивалентности (наборы всяко условий включенности продукта/категории, сегментов пользователей, допустимое/недопустимое qty и т.д.) и подёргать по одному продукту из каждого класса (ну и плюс по одному с каждой границы классов, если границы есть).
Спросите у своего разраба: «Какие причины сподвигнули запросить сведения по каждому продукту?». Сегодня просит статус-код страницы каждого продукта, а завтра попросит создать заказ на каждый. Послезавтра продуктов станет стопицот. Нужно узнать мотивы.

Вполне возможно, что будет достаточным (а может и более полезным) в kibana/newrelic/подобному настроить нотификации при энной частоте возникновения 3xx (?, загадка чем провинился) и 4xx на эмном эндпоинте
Нет, все проще. Это просто проверка битых ссылок
источник

B

Bola in JS for testing
Alexander Koptyaev
ок, буду первым: на 95% уверен, что нет повода проверять каждый продукт — имхо достаточно разбить продукты на классы эквивалентности (наборы всяко условий включенности продукта/категории, сегментов пользователей, допустимое/недопустимое qty и т.д.) и подёргать по одному продукту из каждого класса (ну и плюс по одному с каждой границы классов, если границы есть).
Спросите у своего разраба: «Какие причины сподвигнули запросить сведения по каждому продукту?». Сегодня просит статус-код страницы каждого продукта, а завтра попросит создать заказ на каждый. Послезавтра продуктов станет стопицот. Нужно узнать мотивы.

Вполне возможно, что будет достаточным (а может и более полезным) в kibana/newrelic/подобному настроить нотификации при энной частоте возникновения 3xx (?, загадка чем провинился) и 4xx на эмном эндпоинте
Тут немного о другом. В Битриксе нет механизма проверки битых ссылок. Поэтому их можно проверить реально подергав за ВСЕ урлы
источник

B

Bola in JS for testing
С другой стороны, можно посмотреть, как генерируется ссылка и попробовать поискать отсутствующие товары в бд
источник

B

Bola in JS for testing
Mike
Да, вот такого вида
Тут в принципе даже видно, как ссылки выглядят
источник

OK

Oleksandr Khotemskyi in JS for testing
Есть даже специальные краулеры которые бродят по сайту в поисках битых ссылок
источник

OK

Oleksandr Khotemskyi in JS for testing
просто если гугл бот найдет такую ссылку - то для поисковой выдачи это будет очень плохо
источник