Size: a a a

2019 October 22

M

Mike in JS for testing
await page.click('superButton');
await page.waitForNavigation({waitUntil: 'networkidle0'});
источник

k

ko4ergins in JS for testing
источник

M

Mike in JS for testing
сенкс)
источник

M

Mike in JS for testing
источник

AD

Andrei Dzeichyk in JS for testing
У пуппитеера дока просто офигенная. Прочитав ее должны отпасть все вопросы.
источник

M

Mike in JS for testing
ну вот у меня например c setRequestInterception(true)  где я сейчас просто логгирую запросы и с этим waitForNavigation тест залипает и по таймауту отпадает. Что-то где не заканчивает ждать
источник

M

Mike in JS for testing
await page.setRequestInterception(true);
page.on('request', request => {
  if (request.url().includes('uiapi')) {
     console.log(request.postData());
 request.continue();
 } else { request.continue(); }
});
await page.type...
await page.click...
await page.type...
await Promise.all([
 page.waitForNavigation({waitUntil: 'networkidle0'}),
 page.click('.footer button')
]);
источник

M

Mike in JS for testing
судя по всему дело в {waitUntil: 'networkidle0'}
источник

OK

Oleksandr Khotemskyi in JS for testing
Так может нетворк никогда не idle?
источник

OI

Oleksii Ihnatiuk in JS for testing
что творят с puppeteer :)
источник

M

Mike in JS for testing
Oleksandr Khotemskyi
Так может нетворк никогда не idle?
если я удаляю requestInterceptor то все проходит
источник

VG

Vitalii Grygoruk in JS for testing
Сам ответил на свой вопрос :)
источник

M

Mike in JS for testing
соотвественно и наоборот) с requestInterceptor, но без {waitUntil: 'networkidle0'} тоже проходит
источник

M

Mike in JS for testing
Ну так у меня собственно вопрос в том, что requestInterceptor оставляет какой-то конекшен по сети или как?
источник

M

Mike in JS for testing
потому что даже если оставить networkidle2 то все пройдет
источник

M

Mike in JS for testing
в общем, заработало когда перенес requestInterceptor(true) в самый верх
источник

k

ko4ergins in JS for testing
По идеи, requestInterceptor(true) должен быть перед page.goto
источник

M

Mike in JS for testing
получается да, но видимо не вкуриваю я матчасть) Все ж с await Ладно б тогда просто не затрекались какие-то запросы, но не так что виснет на непонятном конекшене по средине теста...
источник

AP

Alexander Popov in JS for testing
а я и не знал что оно так круто выглядит
Timed out after 10000ms, while waiting for:
browser.all(By(css selector, [name = "outFlight"])).elementBy(has attribute 'value' with value 'Blue Skies Airlines$361').click
   Reason:
       Cannot find element by condition «has attribute 'value' with value 'Blue Skies Airlines$361'» from webelements collection:
   [<input type="radio" checked="" name="outFlight" value="Blue Skies Airlines$360$270$5:03">,<input type="radio" name="outFlight" value="Blue Skies Airlines$361$271$7
:10">,<input type="radio" name="outFlight" value="Pangea Airlines$362$274$9:17">,<input type="radio" name="outFlight" value="Unified Airlines$363$281$11:24">]
источник

OK

Oleksandr Khotemskyi in JS for testing
Alexander Popov
а я и не знал что оно так круто выглядит
Timed out after 10000ms, while waiting for:
browser.all(By(css selector, [name = "outFlight"])).elementBy(has attribute 'value' with value 'Blue Skies Airlines$361').click
   Reason:
       Cannot find element by condition «has attribute 'value' with value 'Blue Skies Airlines$361'» from webelements collection:
   [<input type="radio" checked="" name="outFlight" value="Blue Skies Airlines$360$270$5:03">,<input type="radio" name="outFlight" value="Blue Skies Airlines$361$271$7
:10">,<input type="radio" name="outFlight" value="Pangea Airlines$362$274$9:17">,<input type="radio" name="outFlight" value="Unified Airlines$363$281$11:24">]
это у кого так?
источник