9R WebDriver – 断言和验证

嗨呀超级巨星! 我们已经定位元素很多天了。 让我们今天换一下话题,谈谈“确认和验证”。

当“条件/检查”的断言或验证失败时,两者之间的主要区别是:

  • 验证将记录故障,但继续执行测试用例。

最简单的答案是 – 由您决定,换句话说,就是您的愿望! 您可以根据情况使用断言或验证,即是希望测试中止还是在检查失败后继续进行。

使用断言的好处

大多数情况下,我们希望在检查失败时停止测试执行,而这正是我们通过断言得到的结果。 测试用例失败,并且清楚地突出显示为“失败”。 这将立即向我们显示哪些测试用例没有通过完整测试套件中的检查。 然后,我们可以直接转到那些失败的案例,并检查检查/条件未通过的原因。 那不是很方便吗? 由于此立即反馈的可用性,因此断言更为常用。

当第一个断言条件失败时,将不再执行以下代码行。 可能还要执行其他检查,我们永远不会知道他们的结果。

使用验证的优势

即使条件之一失败,我们希望继续执行测试时,通常使用此方法。 故障将被记录或打印到控制台。 因此,无论测试是通过还是失败,我们都会获得测试用例中所有检查的结果。

让我们获得为本教程系列创建的的标题。 这将是我们使用的getTitle()方法获得的实际标题预期标题是“WebDriver 演示网站”。

情况 1:通过assertEquals通过测试用例

实际标题与预期标题相同,因此条件Assert.assertEquals("WebDriver Demo Website", pageTitle);的输出将是成功。 将执行此行之后的代码,并且将它传递给测试用例。

实际标题与预期标题相同,因此条件的输出将是故障。 此行之后的代码将不执行。 测试执行被中止,并且测试用例将失败。

代码段

上图中的控制台显示assertEquals条件成功,因此将打印检查后的语句,“断言等于通过”,而assertNotEquals条件失败,因此将不执行此检查之后的行。 打印语句“断言不等于失败”不会打印到控制台。

情况 3:尽管assertNotEquals条件失败,但通过测试用例

代码块

即使assertNotEquals条件失败,catch块中的语句也将被执行,并且错误消息将被打印到控制台。

如图所示,测试用例执行成功,并且错误被打印到控制台。

所有代码文件都放置在 GitHub 仓库中,以方便访问。 您可以为仓库加注星标和分支以方便使用。 请仔细阅读“”文件以获取明确说明。

总结了断言和验证的这一部分。 祝你有美好的一天!