Size: a a a

JavaScript testing

2020 November 30

OK

Oleksandr Khotemskyi in JavaScript testing
Ilya Murashka
У меня есть гланвый конфиг, где только о дин браузер и есть второй, где мне уже их два
покажи конфиг
источник

OK

Oleksandr Khotemskyi in JavaScript testing
если юзаешь мультиремоут - то будет только так
источник

IM

Ilya Murashka in JavaScript testing
Да, я вот рассказал, понял как сделать красиво
источник

IM

Ilya Murashka in JavaScript testing
у меня есть переменная в конфиге, в зависимости от того что там браузер/хром/firefox я обращаюсь к браузерам соотвестевно, поставлю там дефолт значение хром
источник

IM

Ilya Murashka in JavaScript testing
а во втором конфиге, просто перепишу значение на браузер
источник

IM

Ilya Murashka in JavaScript testing
Спасибо)
источник

p

pheel in JavaScript testing
Привет. Подскажите, можно ли в playwright сделать что-то типо препроцессора для селекоторов? Грубо говоря если я выполняю await page.$('#selector'), то мне нужно чтобы он под копотом искал модифицированный селектор "[data-test-id: 'modified'] #selector". Знаю что в pw можно сделать кастомный поисковый движок, через selectors.register, но вроде как это не подходит.
источник

AP

Alexander Popov in JavaScript testing
Так сделай функцию которая строку переделает
источник

VG

Vitalii Grygoruk in JavaScript testing
pheel
Привет. Подскажите, можно ли в playwright сделать что-то типо препроцессора для селекоторов? Грубо говоря если я выполняю await page.$('#selector'), то мне нужно чтобы он под копотом искал модифицированный селектор "[data-test-id: 'modified'] #selector". Знаю что в pw можно сделать кастомный поисковый движок, через selectors.register, но вроде как это не подходит.
не уверен на 100% что нельзя, но не стоит так делать. Подумайте о тех кому потом поддерживать код этот. Сделайте фуекцию-обертку которая будет вам преобразовывать селекторы и все
источник

AP

Alexander Popov in JavaScript testing
И передавай вызов функции в который дашь #id
источник

p

pheel in JavaScript testing
Ну, это самый легкий вариант. К примеру у меня тысячи мест, где нужно будет вызвать подобную функцию. Как-то не очень практично выглядит
источник

VG

Vitalii Grygoruk in JavaScript testing
а можешь подробнее юз-кейс с реальным примером? не понятно зачем это понадобилось
источник

OK

Oleksandr Khotemskyi in JavaScript testing
pheel
Привет. Подскажите, можно ли в playwright сделать что-то типо препроцессора для селекоторов? Грубо говоря если я выполняю await page.$('#selector'), то мне нужно чтобы он под копотом искал модифицированный селектор "[data-test-id: 'modified'] #selector". Знаю что в pw можно сделать кастомный поисковый движок, через selectors.register, но вроде как это не подходит.
вам нужен не препроцессор а просто добавить свою стратегию поиска -


https://playwright.dev/#version=v1.6.2&path=docs%2Fextensibility.md&q=
источник

p

pheel in JavaScript testing
Vitalii Grygoruk
а можешь подробнее юз-кейс с реальным примером? не понятно зачем это понадобилось
Фронт начал в DOMe отрисовывать все view разом (особенности проекта на RN). Нужно работать только с активным view
источник

p

pheel in JavaScript testing
Oleksandr Khotemskyi
вам нужен не препроцессор а просто добавить свою стратегию поиска -


https://playwright.dev/#version=v1.6.2&path=docs%2Fextensibility.md&q=
Да, спасибо, я видел это, но не понял как это может мне помочь
источник

OK

Oleksandr Khotemskyi in JavaScript testing
pheel
Привет. Подскажите, можно ли в playwright сделать что-то типо препроцессора для селекоторов? Грубо говоря если я выполняю await page.$('#selector'), то мне нужно чтобы он под копотом искал модифицированный селектор "[data-test-id: 'modified'] #selector". Знаю что в pw можно сделать кастомный поисковый движок, через selectors.register, но вроде как это не подходит.
будет что-то вроде
const button = await page.$(‘testid=something’);


а под капотом можно мапить something на что угодно
источник

p

pheel in JavaScript testing
Ага, я вот только хотел совсем не рограть текущие селекторы
источник

p

pheel in JavaScript testing
Но видимо не получится так
источник

OK

Oleksandr Khotemskyi in JavaScript testing
pheel
Ага, я вот только хотел совсем не рограть текущие селекторы
ох, ну это скользкая дорожка, очень неочевидно что теперь под капотом дефолтный поиск будет работать подругому.

Лучше сделать find/replace с regexp и поменять везде
источник

AP

Alexander Popov in JavaScript testing
pheel
Но видимо не получится так
Можно брать всегда только видимый брать :)
источник