Testcafe Подождите, пока элемент не имеет определенного текста - PullRequest
4 голосов
/ 29 мая 2019

После загрузки изображения с TestCafe сервер выполнит некоторую обработку.В то время как на этот раз ярлык на сайте будет иметь ярлык «Inprogress».После того, как сервер будет готов, он изменится на дату.Однако я хочу сказать сценарию Testcafe подождать, пока ярлык больше не будет «Inporgress».Для этого я сделал:

    const DeliveryStatus = {
        element: Selector('div.cl-asset-published').with({timeout: 70000}),
        delivered: 'Inprogress'
    };

И в скрипте у меня есть

await t
     .expect(DeliveryStatus.element).notContains(DeliveryStatus.delivered, { timeout: 70000 })

Но этот шаг не удался.Я получил сообщение «AssertionError: проверяемый объект должен быть массивом, картой, объектом, набором, строкой или слабым набором, но с заданной функцией», но я понятия не имею, почему.

Любое предложение, чтобы исправить эту проблему?

1 Ответ

3 голосов
/ 29 мая 2019

Вы передаете селектор элемента, который возвращает элемент, но не строку, в функцию expect. Попробуйте вместо этого использовать свойство innerText элемента следующим образом:

await t
 .expect(DeliveryStatus.element.innerText)
 .notContains(DeliveryStatus.delivered, { timeout: 70000 })
...