硒失败的结果等于通过测试

时间:2018-01-04 22:57:38

标签: selenium

我正在创建测试用例以确认某些字段是必需的。提交表单后,如果未填写所有必填字段,则不应显示“成功”横幅。所以这是我的代码片段,看看页面上是否显示横幅......

checkRequestConfirm = webDriver.FindElement(By.ClassName("apx-success-message")).Displayed;

这显然未通过测试,因为横幅不存在。但这就是我想要的。我想要通过,因为横幅没有显示。任何建议都非常感谢!我知道我可能会错误地接近这一点并且愿意接受改进。

2 个答案:

答案 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

如果您没有使用框架,我强烈建议您找一个符合您所使用语言的框架。