Как выполнить мягкое утверждение в транспортире огурца - PullRequest
0 голосов
/ 19 июня 2019
    defineSupportCode(({Given, When,Then})=>{

      When('click on search button', async () =>{
        await browser.actions().sendKeys(protractor.Key.ENTER).perform();
        await browser.sleep(3000)
        await browser.actions().sendKeys(protractor.Key.ENTER).perform();
        await browser.sleep(3000)
        let element1 = element(by.xpath("//h3[text()='Selenium - Web Browser Automation']"))
        await expect(element1.isDisplayed()).to.eventually.be.false;
      });


      Then('it should show search result', async () =>{
        let element2 = element(by.xpath("//h3[text()='Downloads - Selenium']"))
        await expect(element2.isDisplayed()).to.eventually.be.true;
      });
})

Мой последний блок был пропущен . Но я хочу продолжить все свои этапы тестирования, даже если он пройден или не пройден (тогда определенно я думаю, что должен использовать soft assert). В тестированииу нас есть класс, называемый softassert.Есть ли здесь что-то похожее на это?Я использую пакет Chai для подтверждения

TIA

1 Ответ

0 голосов
/ 19 июня 2019

Справочная информация:

Это не проблема транспортира или огурца, это на самом деле chai (похоже, вы используете chai из своего фрагмента кода, но не стесняйтесь исправлять меня, если я ошибаюсь).

Проблема:

После просмотра chai docs https://www.chaijs.com/api/assert/ похоже, что они не поддерживают концепцию мягких утверждений, как некоторые другие структуры утверждений.

Решение 1:

Единственный обходной путь, о котором я могу подумать, - это обернуть ваше утверждение в триггер попытки и сохранить ошибку, полученную от утверждения, в вашем экземпляре мира, а затем в вашем обработчике после перехвата выдать ошибки.

Решение 2: Используйте библиотеку, которая поддерживает мягкие утверждения. Из быстрого поиска я вижу https://www.npmjs.com/package/soft-assert, но, к вашему сведению, я не пробовал эту библиотеку

Примечания: В этом есть одна плохая вещь: скриншоты могут содержать неверную информацию.

...