Cypress Uncaught Assertion Error несмотря на cy.on («uncaught: исключение» - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь запустить тест, который заполняет форму и нажимает кнопку для отправки:

it('adds biological sample with maximal input', function(){
    cy.on('uncaught:exception', (err, runnable) => {
    expect(err.message).to.include('of undefined')
      done()
      return false
    });
    cy.get('a').contains('Add biological sample').click();
    cy.get('input[name=sampleID]').first().type("bioSample123");
    cy.get('input[name=alternateSampleID]').first().type("bioSample123AltId");
    cy.get('input[name=preservationMethod]').type('watercolor painting');
    cy.get('input[name=storageLabID]').type('bioSample123Lab456');
    cy.get('input[name=samplingProtocol]').type('dark summoning');
    cy.get('input[name=samplingEffort]').type('maximal');
    cy.get('input[name=fieldNumber]').type('uncountable');
    cy.get('input[name=fieldNNotes]').type('Fred dropped the blood candles again. Thanks, Fred.');
    cy.get('input[name=eventRemarks]').type('You would think this could bw in the field notes');
    cy.get('input[name=institutionID]').type('Hogwarts');
    cy.get('input[name=collectionID]').type('whaleSearch1');
    cy.get('input[name=collectionCode]').type('ws1');
    cy.get('input[name=datasetID]').type('summonedWhales');
    cy.get('input[name=datasetName]').type('Summoned Whales');
    cy.get('input[name=EditTissueSample]').first().click();
    cy.url().should('match',/EncounterSetTissueSample/);
    cy.contains('Action results');
  });

Несмотря на то, что содержится

    cy.on('uncaught:exception', (err, runnable) => {
    expect(err.message).to.include('of undefined')
      done()
      return false
    });

до возникновения ошибки.

Вот изображение неудачного теста the test failing.

Ошибка в левом нижнем углу гласит:

Ошибка: Uncaught AssertionError: Ожидается '$ f не определен \ n \ nЭта ошибка возникла из кода вашего приложения, а не из Cypress.\ n \ nКогда Cypress обнаруживает необнаруженные ошибки, возникающие в вашем приложении, он автоматически завершает текущий тест. \ n \ nЭто поведение настраивается, и вы можете отключить его, прослушивая событие \ 'uncaught: exception \'. \n \ n https://on.cypress.io/uncaught-exception-from-application' для включения 'of undefined' (https://www.flukebook.org/_cypress/runner/cypress_runner.js:49186)

Кажется, что я следую совету Cypress и не получаю желаемого результата. Любые предложения? Это случилось с кем-то еще?

1 Ответ

0 голосов
/ 19 декабря 2018

Можете ли вы удалить expect(err.message).to.include('of undefined') и done() из блока исключений Cypress и добавить приведенный ниже фрагмент кода в тест и запустить тест снова

Cypress.on('uncaught:exception', (err, runnable) => {
    // returning false here prevents Cypress from
    // failing the test
    return false
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...