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;
});
})
我的最后一个块被跳过了。但是我想继续我的所有测试步骤,即使它是通过还是失败(那肯定是我认为我必须使用软断言)。在testng中,我们有一类称为softassert的类。是否有可用的东西以及与之相似的东西。我正在使用chai包进行声明
TIA
答案 0 :(得分:0)
背景:
这不是量角器或黄瓜问题,它实际上是chai(好象您在代码段中使用chai,但是如果我错了,请随时纠正我)。
问题:
在查看chai文档https://www.chaijs.com/api/assert/之后,看起来它们像其他断言框架一样不支持软断言的概念。
解决方案1:
我能想到的唯一解决方法是将您的断言包装在try catch中,并将从断言中收到的错误存储在您的world实例中,然后在您的后钩中抛出错误。
解决方案2: 使用不支持软断言的库。通过快速搜索,我看到了https://www.npmjs.com/package/soft-assert,但是仅供参考,我还没有尝试过该库
注释: 一件坏事是屏幕截图可能捕获了不正确的信息。