TestCafe - Как проверить, больше или равно ли значение в утверждении - PullRequest
0 голосов
/ 28 мая 2020

Я хотел бы проверить значение, которое отображается в селекторе ниже, если оно больше или равно 1

<span class="badge badge-pill badge-white"> 0 </span>

(Поэтапно значение «0» должно меняться на «1» или « 2 "..)

Я определил этот селектор совместно. js

this.pill = Selector('[class*=badge-white]');

и написал следующее утверждение:

await t.expect((common.pill).innerText).gte(1);

Я получил следующую ошибку : "AssertionError: ожидалось, что" 1 "будет числом или датой. Я не знаю, как преобразовать ((common.pill) .innerText) в число? Я пробовал что-то вроде этого:

await t.expect(Number((common.pill).innerText)).gte(1);

Но это не работает. Когда я проверяю, является ли значение глубоким равным, например, «3», я пишу:

await t.expect((common.pill).innerText).eql('3');

И это работает. Может ли кто-нибудь помочь мне, как проверить значение больше или равно? Я внимательно изучил его, но не могу найти решение https://devexpress.github.io/testcafe/documentation/guides/basic-guides/assert.html: (

Я нашел решение при создании const

const number = await common.pill.innerText;

await t.expect(Number(number)).gte(1);

Работает !!! !!!!!!!!!!!!!!!

, поэтому мой вопрос в том, почему приведенный ниже код не работает

await t.expect(Number((common.pill).innerText)).gte(1);

1 Ответ

1 голос
/ 01 июня 2020

Ваш код

await t.expect(Number((common.pill).innerText)).gte(1);

не работает, потому что 'Number' не ожидает неразрешенных обещаний, поэтому да, вам нужно сделать это следующим образом:

const number = await common.pill.innerText;
await t.expect(Number(number)).gte(1);

Этот код

await t.expect((common.pill).innerText).eql('3');

работает, потому что 'expect' поддерживает автоматическое ожидание обещаний.

...