Size: a a a

2020 February 01

AB

Alexei Barantsev in JS for testing
но там же не в прокси дело, а в возможности через API (локальный или удалённый) втыкать в него свои интерцепторы, ну или хотя бы просто инфу тянуть о перехваченном трафике
источник

AB

Alexei Barantsev in JS for testing
то есть нужен прокси, который управляется через API
источник

AB

Alexei Barantsev in JS for testing
напишите, человечество будет благодарно :)
источник

AB

Alexei Barantsev in JS for testing
мы в рамках проекта Selenium решили идти по пути интеграции с CDP, поэтому в сторону прокси никаких движений делать не собираемся
источник

VG

Vitalii Grygoruk in JS for testing
Так я ж и говорю о аналоге bmp. Он же умеет в интерсепторы, хоть и кривовато
источник

VG

Vitalii Grygoruk in JS for testing
Если б я в golang умел то написал бы :)
источник

KV

Kvv Vvk in JS for testing
Из того что я пересмотрел, проще всего начать с cypress. Жаль в команде нет автоматизаторов
источник

AB

Alexei Barantsev in JS for testing
у них просто хорошо работает отдел продаж (коммерческая компания, так что всё логично), поэтому и создаётся такое впечатление
источник

B

Bola in JS for testing
Как бы вы покрыли тестами например библиотеку d3js? Вопрос звучит так: как убедиться, что график на основе данных построен верно?
источник
2020 February 02

VG

Vitalii Grygoruk in JS for testing
Там канвас строится? Заскриншоть тогда. Если дом обычный - то jest Snapshot можно
источник

VG

Vitalii Grygoruk in JS for testing
D3 тестировать не надо. Надо тестировать что вы ему данные отдаёте правильно
источник

VG

Vitalii Grygoruk in JS for testing
D3 уже оттестирован и так
источник

B

Bola in JS for testing
Vitalii Grygoruk
D3 тестировать не надо. Надо тестировать что вы ему данные отдаёте правильно
Это пример
источник

VG

Vitalii Grygoruk in JS for testing
набрел в гитхабе случайно - https://github.com/dekolos/sulfide
selenide-style обертка над папетиром )
правда по статам - никто ее не юзает
источник

BO

Boris Osipov in JS for testing
ну да. судя по коду(я не глубоко смотрел) выглядит как именно selenide-style т.е. ретраев и прочего не завезли.
источник

SC

Sergey Chepets in JS for testing
Во всех этих либах есть минус, что в связке element.$(selector#1).$(selector#2).$(selector#3).click() если убадет на клике, то выведет, что ненайден элемент с selector#3, а не selector#1+selector#2+selector#3. Не всегда понятно где упало. Вот у меня на проэкте есть тесты бекофиса и у нас вложенность PageComponent иногда достигает 8-ми уровней.
Cпециально для таких целей и для wdio и для puppeteer запилил собственные ленивые обвертки WebElement, которые выполняют конкатенацию искомого селектора с родительским. Такой подход также решает проблемы с кейсами, когда родитель у нас получен по $$(findElements). В wdio element.$(selector#1).$$(selector#2)[5].$(selector#3).click() всегда кликнет по элементу (selector#1  selector#2)[1] selector#3  если такой будет в доме вместо ожидаемого (selector#1  selector#2)[6] selector#3.
источник

VG

Vitalii Grygoruk in JS for testing
Sergey Chepets
Во всех этих либах есть минус, что в связке element.$(selector#1).$(selector#2).$(selector#3).click() если убадет на клике, то выведет, что ненайден элемент с selector#3, а не selector#1+selector#2+selector#3. Не всегда понятно где упало. Вот у меня на проэкте есть тесты бекофиса и у нас вложенность PageComponent иногда достигает 8-ми уровней.
Cпециально для таких целей и для wdio и для puppeteer запилил собственные ленивые обвертки WebElement, которые выполняют конкатенацию искомого селектора с родительским. Такой подход также решает проблемы с кейсами, когда родитель у нас получен по $$(findElements). В wdio element.$(selector#1).$$(selector#2)[5].$(selector#3).click() всегда кликнет по элементу (selector#1  selector#2)[1] selector#3  если такой будет в доме вместо ожидаемого (selector#1  selector#2)[6] selector#3.
8 уровней вложенности... у нас на проекте далеко не самый простой интерфейс и максимум что я насчитал в плане вложенности было 4.
Чисто из любопытства:
у вас в каких браузерах это запускается на CI? И браузер локально или где-то на удаленном селеноиде?
источник

VG

Vitalii Grygoruk in JS for testing
Выкладывай код реализации lazy component - будем смотреть :)
источник

SC

Sergey Chepets in JS for testing
Только хром, на ci/cd gitlab пайплайне и крутим на селеноиде
источник

VG

Vitalii Grygoruk in JS for testing
Для вдио
источник