断言

2024年11月16日 | 阅读 5 分钟

断言决定了应用程序的状态是否与我们期望的相同。如果断言失败,则测试用例失败并停止执行。

要在 Web Driver 中使用断言,您需要下载 Testng jar 文件并将其添加到 Eclipse 中。从下面给出的链接下载 Testng jar 文件

https://mvnrepository.com/artifact/org.testng/testng/6.7

断言有两种类型

  • 硬断言
  • 软断言
Assertions

硬断言

硬断言是一个断言,当测试用例失败时会抛出 AssertException。在硬断言的情况下,您可以使用 catch 块(如 Java 异常)来处理错误。假设我们在一个套件中有两个测试用例。套件中的第一个测试用例有一个失败的断言,如果我们想运行套件中的第二个用例,我们需要处理断言错误。硬断言包含以下方法

  • AssertEquals
  • AssertNotEquals
  • AssertTrue
  • AssertFalse
  • AssertNull
  • AssertNotNull

AssertFalse()

断言验证条件返回的布尔值。如果布尔值为 false,则断言通过测试用例;如果布尔值为 true,则断言通过异常中止测试用例。下面给出了 AssertFalse() 方法的语法

让我们通过一个例子来理解

  • 当条件为假时

在上面的代码中,Assert.assertFalse() 包含一个返回 false 值的条件。因此,它通过了测试用例。

在控制台上的输出

Assertions
  • 当条件为真时

在上面的代码中,Assert.assertFalse() 方法包含 true 条件。因此,断言失败,这意味着测试用例也失败了。断言失败将通过异常停止执行。

在控制台上的输出

Assertions

AssertTrue()

断言验证条件返回的布尔值。如果布尔值为 true,则断言通过测试用例;如果布尔值为 false,则断言通过异常中止测试用例。下面给出了 AssertTrue() 方法的语法

让我们通过一个例子来理解。

在上面的代码中,driver.findElement(By.cssSelector("input[id*='SeniorCitizenDiscount']")).click(); 此语句用于选择“老年人”框。在下一个语句中,我们应用断言来检查测试用例是失败还是通过。Assert.assertTrue() 方法中的参数返回 true 值,因此测试用例通过。

输出

Assertions

控制台上的输出

Assertions

AssertEquals()

AssertEquals() 是一种用于比较实际结果和预期结果的方法。如果实际结果和预期结果相同,则断言通过且没有异常,并且测试用例被标记为“通过”。如果实际结果和预期结果不相同,则断言失败并出现异常,并且测试用例被标记为“失败”。下面给出了 AssertEquals() 方法的语法

让我们通过一个例子来理解。

  • 当成人人数为 5 时。
Assertions
Assertions
  • 当成人人数不等于 5 时
Assertions

在控制台上的输出

Assertions

AssertNotEquals()

它与 AssertNotEquals() 方法的功能相反。AssertNotEquals() 是一种用于比较实际结果和预期结果的方法。如果实际结果和预期结果不相同,则断言通过且没有异常,并且测试用例被标记为“通过”。如果实际结果和预期结果相同,则断言失败并出现异常,并且测试用例被标记为“失败”。下面给出了 AssertNotEquals() 方法的语法

让我们通过一个例子来理解。

  • 当实际字符串不等于预期字符串时。

在上面的代码中,实际字符串,即 Hello 不等于预期字符串,即 How are you。因此,断言通过测试用例。这将执行下一条语句,下一条语句是 System.out.println("Hello...This is javaTpoint");

输出

Assertions
  • 当实际字符串等于预期字符串时。

输出

Assertions

AssertNull()

AssertNull() 是一种验证对象是否为 null 的方法。如果一个对象为 null,则断言通过测试用例,并且测试用例被标记为“通过”,如果一个对象不为 null,则断言中止测试用例,并且测试用例被标记为“失败”。下面给出了 AssertNull() 方法的语法

让我们通过一个例子来理解。

  • 当一个对象为 null 时。

输出

Assertions
  • 当一个对象不等于 null 时。

输出

Assertions

AssertNotNull()

AssertNotNull() 是一种验证对象是否为 null 的方法。如果一个对象不为 null,则断言通过测试用例,并且测试用例被标记为“通过”,如果一个对象为 null,则断言中止测试用例,并且测试用例被标记为“失败”。下面给出了 AssertNotNull() 方法的语法

让我们通过一个例子来理解。

  • 当一个对象不为 null 时。

输出

Assertions
  • 当一个对象为 null 时。

输出

Assertions

软断言

到目前为止,我们已经了解了使用 Testng 框架在 Web Driver 中使用硬断言。在硬断言中,如果断言失败,则它会中止测试用例,否则它会继续执行。有时我们希望即使断言失败也执行整个脚本。这在硬断言中是不可能的。为了克服这个问题,我们需要在 testng 中使用软断言。

下一个主题Selenium Grid