Можем ли мы проверить, содержит ли текст элемента текст_А или текст_В с кипарисом? - PullRequest
2 голосов
/ 08 октября 2019

Просто интересно, есть ли способ проверить, что элемент содержит text_A или text_B с кипарисом. Например, у меня есть элемент, заполненный ошибкой, возвращенной из запроса API, и я хочу проверить, содержит ли сообщение об ошибке text_A или text_B . Попробовал следующий код, но он работает, только если присутствует text_A и завершается неудачно, когда возвращается text_B . Я не получаю никакой ошибки для неверного синтаксиса от Cypress, любая помощь будет оценена.

 cy.get('body').then((body) => { 
     if (body.find('#request-error').length > 0) { 
         cy.get('#request-error').then((el)=> {
              assert.include(el.text(), ('text_A' || 'text_B')); 
         });
     } else {
         // DO SOMETHING ELSE
     }
 });

1 Ответ

2 голосов
/ 08 октября 2019

По сути, у вас есть массив возможных сообщений об ошибках, так что вы можете проверить, существует ли текст элемента в этом массиве.

expect(['text_A', 'text_B']).to.include(el.text())

Другой вариант, который лучше читается, это использовать .oneOf

expect(el.text()).to.be.oneOf(['text_A', 'text_B']);

https://docs.cypress.io/guides/references/assertions.html#BDD-Assertions

...