У меня проблема с передачей параметра timeout в get () to should () в моем тесте на кипарис - PullRequest
1 голос
/ 04 марта 2020
cy.get('.buy-order [data-cy=balance]', {timeout: 5000}).then(el => parseFloat(el.text())).should('be.greaterThan', balance);

У меня проблема с передачей параметра timeout в get () методу must () в приведенном выше коде. В then () мне нужно извлечь и изменить данные, которые будут использоваться в must (). В приведенной ниже строке кода параметр timeout правильно передается в must (). Поэтому следует () продолжать повторять указанные утверждения, пока не истечет время ожидания. Кроме того, он продолжает повторять указанное утверждение до тех пор, пока не станет правильным.

cy.get('.buy-order [data-cy=balance]', {timeout: 5000}).should('be.greaterThan', balance);

Но в приведенной ниже строке кода параметр timeout parm не передается в must (). Я думаю, что это вызвано функцией «тогда» в середине. Поэтому следует () не продолжать повторять указанные утверждения, пока не истечет время для пользовательского параметра. Кроме того, он не продолжает повторять указанное утверждение, пока оно не станет правильным.

cy.get('.buy-order [data-cy=balance]', {timeout: 5000}).then(el => parseFloat(el.text())).should('be.greaterThan', balance);

Как я могу решить проблему?

1 Ответ

0 голосов
/ 04 марта 2020

Я думаю, вы можете сделать утверждение внутри should(), которое также будет распространяться по таймауту от get():

cy.get('.buy-order [data-cy=balance]', {timeout: 5000})
  .should(el => expect(el.text()).to.be.greaterThan(balance));

https://docs.cypress.io/api/commands/should.html#Timeouts

...