Size: a a a

JavaScript testing

2020 November 24

NK

ID:0 in JavaScript testing
📢 Вышел Cypress 6.0!

Ключевое изменение - новый метод cy.intercept() который позволяет перехватывать любые HTTP запросы из приложения (теперь и fetch тоже)

Полный changelog и больше информации тут -
https://github.com/cypress-io/cypress/releases/tag/v6.0.0
источник

m

mkots in JavaScript testing
что-то туплю, cy.intercept это же cy.route2 обычный? или там что-то добавили?
источник

OK

Oleksandr Khotemskyi in JavaScript testing
mkots
что-то туплю, cy.intercept это же cy.route2 обычный? или там что-то добавили?
cy.server() and cy.route() have been deprecated. In a future release, support for cy.server() and cy.route() will be moved to a plugin. We encourage you to use cy.intercept() instead. Addressed in #9185.
источник

m

mkots in JavaScript testing
А, ну это типа был роут2 а теперь нет роута значит роут2 можно переименовать в нормальное что-то
источник

OK

Oleksandr Khotemskyi in JavaScript testing
mkots
А, ну это типа был роут2 а теперь нет роута значит роут2 можно переименовать в нормальное что-то
а route и route2 это еще и методы разные? )
источник

OK

Oleksandr Khotemskyi in JavaScript testing
надо диму спросить )
источник

OK

Oleksandr Khotemskyi in JavaScript testing
шо там намудрили
источник

G

Genn in JavaScript testing
Oleksandr Khotemskyi
а route и route2 это еще и методы разные? )
это как realClick, который недавно показали)
источник

DK

Dmitriy Kovalenko in JavaScript testing
route2 переименовали в intercept – если коротко раньше сайпресс мокал запросы изнутри js и это не работало с fetch.

Теперь cy.server создает реальный сервер с прокси, который перехватывает и проксирует все запросы. А настроить это можно через cy.intercept
источник

m

mkots in JavaScript testing
вот теперь все понятно, спасибо
источник

ES

Eugene Stogniy in JavaScript testing
Dmitriy Kovalenko
route2 переименовали в intercept – если коротко раньше сайпресс мокал запросы изнутри js и это не работало с fetch.

Теперь cy.server создает реальный сервер с прокси, который перехватывает и проксирует все запросы. А настроить это можно через cy.intercept
в ообщем ещё немного и выйдет тестКафе )
источник

DK

Dmitriy Kovalenko in JavaScript testing
Eugene Stogniy
в ообщем ещё немного и выйдет тестКафе )
Неа, у тесткафе никогда не будет коммандлога и возможности дебажить приложение прямо во время тестов (ну если они его не перепишут)
источник

VG

Vick Gr in JavaScript testing
Підскажіть, будь ласка, чи можна у wdio змінити timeout одноразово в конкретному випадку
 const x = $('#THIS_EXIST').$('#THIS_NOT_EXIST', timeout=500) 

щоб лише #THIS_NOT_EXIST чекало пів секунди, інші всі елементи стандартний N таймаут
Пробую
try {
       console.log(' BEFORE WAITING ' + new Date());

       if ( $('#THIS_EXIST').$('#THIS_NOT_EXIST).waitForExist( {timeout: 500} )) {
           console.log(' AFTER IF WAITING ' + new Date());
           return  $('#THIS_EXIST').$('#THIS_NOT_EXIST);
       }
       return null;
   } catch(err) {
       console.log(' CATCH ERROR ON WAITING ' + new Date());
       return null;
   }

Отримую
BEFORE WAITING Tue Nov 24 2020 13:36:22 
CATCH ERROR ON WAITING Tue Nov 24 2020 13:38:40

таймаут точно більше пів секунди
источник

AB

Alexei Barantsev 🗹... in JavaScript testing
Dmitriy Kovalenko
Неа, у тесткафе никогда не будет коммандлога и возможности дебажить приложение прямо во время тестов (ну если они его не перепишут)
а почему не будет? что принципиально мешает?
источник

DK

Dmitriy Kovalenko in JavaScript testing
Alexei Barantsev 🗹
а почему не будет? что принципиально мешает?
Потому что сайпресс запускает тесты напрямую из браузера и имеет прямой доступ к дом-у. А тесткафе и другие тест раннеры (playwright, webdriver) запускает тесты снаружи и общаются с приложением через специальный интерфейс
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Dmitriy Kovalenko
Потому что сайпресс запускает тесты напрямую из браузера и имеет прямой доступ к дом-у. А тесткафе и другие тест раннеры (playwright, webdriver) запускает тесты снаружи и общаются с приложением через специальный интерфейс
тест кафе тоже встраивается в страницу через прокси
источник

DK

Dmitriy Kovalenko in JavaScript testing
Oleksandr Khotemskyi
тест кафе тоже встраивается в страницу через прокси
Но тесты все равно выполняются (насколько я понимаю) в ноде.
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Dmitriy Kovalenko
Но тесты все равно выполняются (насколько я понимаю) в ноде.
это @solopii_mykola шарит
источник

AB

Alexei Barantsev 🗹... in JavaScript testing
Dmitriy Kovalenko
Потому что сайпресс запускает тесты напрямую из браузера и имеет прямой доступ к дом-у. А тесткафе и другие тест раннеры (playwright, webdriver) запускает тесты снаружи и общаются с приложением через специальный интерфейс
даже если запускают через специальный интерфейс — ничто же не мешает внутри браузера открыть инструменты разработчика, поставить точку остановки в отладчике — и наслаждаться. другое дело, что тесты и приложение надо будет отлаживать в разных местах, вовлечены два отладчика
источник

AP

Alexander Popov in JavaScript testing
Alexei Barantsev 🗹
даже если запускают через специальный интерфейс — ничто же не мешает внутри браузера открыть инструменты разработчика, поставить точку остановки в отладчике — и наслаждаться. другое дело, что тесты и приложение надо будет отлаживать в разных местах, вовлечены два отладчика
Минутку, я тут три года через console.log дебажу, а оказывается есть аж два отладчика? 🤔
источник