我正在创建测试用例以确认某些字段是必需的。提交表单后,如果未填写所有必填字段,则不应显示“成功”横幅。所以这是我的代码片段,看看页面上是否显示横幅......
checkRequestConfirm = webDriver.FindElement(By.ClassName("apx-success-message")).Displayed;
这显然未通过测试,因为横幅不存在。但这就是我想要的。我想要通过,因为横幅没有显示。任何建议都非常感谢!我知道我可能会错误地接近这一点并且愿意接受改进。
答案 0 :(得分:1)
如果你想检查横幅是否存在,我会等到加载其他元素(只是为了确保在横幅显示之前没有运行测试),然后使用:
<router-link to="/">
如果您想检查它是否可见,只需使用:
checkRequestConfirm = webDriver.findElements(By.ClassName("apx-success-message")).size() == 0
您可以进一步了解方法here之间的差异。
答案 1 :(得分:-1)
这取决于您使用的框架。你没有指定语言,但我猜C#?对于C#,有NUnit,或者如果你使用Java,则有JUnit,TestNG等。所有这些框架(和其他框架)都有一个概念,即如果布尔值为false则传递测试。
对于NUnit,语法类似于
Assert.False(webDriver.FindElement(By.ClassName("apx-success-message")).Displayed, "Success message is NOT present");
在此处详细了解:https://github.com/nunit/docs/wiki/Assert.False
如果您没有使用框架,我强烈建议您找一个符合您所使用语言的框架。