testplane
testplane copied to clipboard
Поддержка puppeteer
Привет! А есть какие-то планы на поддержку puppeteer?
Привет
В планах нет, но если очень хочется, то мы принимаем PR-ы ;)
в 6й версии wdio под капотом есть поддержка devtools protocol. работает только для хрома и nightly firefox и только локально. когда\если гермиона обновится, неявно такая поддержка скорее всего появится и у неё.
Простите, что забыли отписаться здесь. Да, поддержка puppeteer уже давно есть в гермионе. Пример использования:
it('should mock google.com using puppeteer api', async ({browser}) {
const puppeteer = await browser.getPuppeteer(); // получаем инстанс puppeteer-а
const [page] = await puppeteer.pages(); // получаем первую открытую страницу
await page.setRequestInterception(true); // активируем перехват всех запросов
page.on('request', async (request) => {
if (request.url() !== 'https://google.com/') {
return request.continue(); // если урл запроса не матчится на https://google.com/, то выполняем запрос (т.е. не перехватываем его)
}
return request.respond({body: 'hello world'}); // отвечаем своими данными
});
await browser.url('https://google.com'); // здесь можно было бы вызвать и `page.goto('https://google.com')`, но лучше вызывать `url`, так как в большинстве плагинов есть обертки команды `url`, добавляющие дополнительную логику.
});