Cypress: вывод на консоль монитора - PullRequest
2 голосов
/ 24 октября 2019

Я знаю, что Cypress может печатать отладочную информацию в консоли браузера, но может ли он читать данные из консоли во время тестов?

Я работаю над приложением Three.js, поэтому не могу должным образом протестировать 3D-аспекты приложения, но я хотел бы услышать ошибки javascript в консоли браузера.

Возможно ли это вообще?

1 Ответ

1 голос
/ 25 октября 2019

Вы можете перехватывать консольные сообщения с помощью Cypress cy.spy(), но если вы хотите углубиться в данные - я не видел никакого способа сделать это.

документы можно немного перенастроить, вот как я настраиваю шпиона.

let spy;
Cypress.on('window:before:load', (win) => {
  spy = cy.spy(win.console, "error")  // can be other methods - log, warn, etc
})

it('Doing something that should not cause a console error', () => {

  // Run test steps here that may cause a console error

  cy.wait(100).then(x => {  
    expect(spy).not.to.be.called
  })

  // or perhaps this, to auto-retry (have not tried this syntax)
  cy.wrap({}).should(() => {  
    expect(spy).not.to.be.called
  })

  // The docs imply you can just do this

  expect(spy).not.to.be.called

  // ..but that line may run before any other cy command above finish
  // so I'd stick with using cy.wrap({}).then(...) to put it in the command chain

  // The spy call count is reset after each test

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...