如何执行失败的测试用例 TestNG

⚡ 智能摘要

运行失败的测试用例 TestNG 允许测试人员隔离并重新执行未通过的测试,从而节省时间并减少整个测试套件中的冗余执行。

  • 🛠️ 项目设置: 创建一个 Java 项目 Eclipse,添加 TestNG 和 Selenium JAR 库,并定义两个测试类(DemoA 和 DemoB)。
  • 🔄 TestNG 转换: 转化率 Java 课程 TestNG 右键单击并选择套件 TestNG 转换选项以生成 testng.xml。
  • 💻 命令行执行: 使用 java -cp 命令从命令提示符运行 testng.xml 测试套件,并正确设置 classpath 指向 lib 和 bin 文件夹。
  • 测试失败检测: TestNG 当一个或多个测试用例失败时,会自动在 test-output 文件夹中生成 testng-failed.xml 文件。
  • 🔁 重新运行失败的测试: 执行 testng-failed.xml 文件,可以从以下任一方式执行: Eclipse (运行方式) TestNG 套件)或命令行仅重新运行失败的测试用例。

创建一个 Selenium 项目

在将项目转换为……之前,请先准备好项目。 TestNG以下步骤将引导您完成创建过程。 Java 项目 Eclipse设置包结构,并添加所需的 JAR 库。

步骤1) In Eclipse, 创建一个 Java 点击“新建”按钮即可创建项目。 Java 项目。

创建一个 Selenium 项目

步骤2) 在此步骤中:

  1. 给项目命名。
  2. 选择执行环境。
  3. 选择项目布局选项。
  4. 点击 完成 按钮。

创建一个 Selenium 项目

点击“完成”后, 测试项目 Java 项目已创建,并将出现在程序包资源管理器中。

创建一个 Selenium 项目

步骤3) 打开新建的项目。您将看到 SRC 在程序包资源管理器中打开文件夹。

  1. 右键单击项目并选择 全新发布.
  2. 点击 小包装 选项。

创建一个 Selenium 项目

步骤4) 在此步骤中:

  1. 浏览 src 文件夹并选择 package。
  2. 给包裹命名。
  3. 点击 完成(软件包名称:com.test)

创建一个 Selenium 项目

点击后 完成项目结构如下所示:

创建一个 Selenium 项目

步骤5) 在此步骤中:

  1. 右键单击新建的程序包。
  2. 点击 增益级 选项。

创建一个 Selenium 项目

将打开一个新窗口。

步骤6) 在此步骤中:

  1. 给这个类起个名字。
  2. 选择修饰符。
  3. 浏览并选择超类 java.lang.Object。
  4. 点击 完成.

这里,你创建了两个类: 演示A复员.

首先,创建类 DemoA。

创建一个 Selenium 项目

点击后 完成该类将被创建:

创建一个 Selenium 项目

同样地,创建类 DemoB:

创建一个 Selenium 项目

步骤7) 如果您已经安装了 TestNG 图书馆,点击 Java 项目 → 物业.

创建一个 Selenium 项目

步骤8) 在“属性”窗口中:

  1. 点击 Java 构建路径.
  2. 点击 图书馆.
  3. 点击 添加图书馆.

创建一个 Selenium 项目

下一篇:

  1. 点击 TestNG 然后
  2. 点击 下一篇.

创建一个 Selenium 项目

然后点击 完成 按钮。

创建一个 Selenium 项目

之后,写入以下代码。

课堂演示A:

创建一个 Selenium 项目

Code 说明:

  • driver.manage().window().maximize(); — 最大化浏览器窗口。
  • driver.get("https://www.google.co.in"); — 输入指定内容 URL 在地址字段中。
  • driver.findElement(By.name("q")).sendKeys("Hi"); — 定位 Google 使用 sendKeys 方法在搜索框中输入文本。

输出: 上述程序存在错误,因此无法直接执行。

同样,对于 DemoB 类:

创建一个 Selenium 项目

红色下划线文字表示错误,因为所需的 JAR 文件尚未添加。要解决这些错误,请添加相应的 JAR 文件。右键单击 Java 项目和选择 物业.

创建一个 Selenium 项目

第 8 步(续) 在“属性”窗口中:

  1. 点击 Java 构建路径 在左侧导航窗格中。
  2. 点击 图书馆 标签。
  3. 点击 添加外部 JAR 文件 并选择 Selenium 独立 JAR 文件。
  4. 点击 OK.

创建一个 Selenium 项目

完成此步骤后,所有错误将自动消除。如果仍有错误,请将鼠标悬停在标记为错误的代码上,然后导入必要的类和接口。 @Test 错误,悬停并选择 添加 TestNG 图书馆.

步骤9) 在此步骤中:

  1. 右键单击项目并选择 可以选择创建名为 LIB.
  2. 粘贴 TestNG JAR 和 Selenium JAR(selenium-server-standalone)将这两个 JAR 文件复制到此文件夹中。从网上下载这两个 JAR 文件,复制它们,然后右键单击 lib 文件夹。 Eclipse 然后选择“粘贴”。

创建一个 Selenium 项目

步骤10) 在此步骤中:

  1. 选择上级文件夹。
  2. 给文件夹命名 LIB(此文件夹仅在命令行执行时需要;从此处运行 testng.xml 时不需要。) Eclipse.)
  3. 点击 完成.

创建一个 Selenium 项目

创建文件夹后,下一步是将程序 DemoA 和 DemoB 转换为 testng.xml 文件。

转换并执行 Selenium 项目 TestNG

步骤1) 在此步骤中:

  1. 选择两个 Java 包中的文件,然后右键单击。
  2. 点击 TestNG 选项。
  3. 点击 转换成 TestNG.

转换并执行 Selenium 项目 TestNG

步骤2) 新窗口打开后,请输入以下信息:

  1. 地点
  2. 套房名称
  3. 考试名称
  4. 选课
  5. 并行模式
  6. 点击 完成.

转换并执行 Selenium 项目 TestNG

testng.xml 文件创建于 Java 项目完成后的样子如下:

转换并执行 Selenium 项目 TestNG

(要运行 testng.xml) Eclipse在“包资源管理器”中右键单击该文件,然后选择 运行方式 TestNG 套件.)

步骤3) testng.xml 套件文件将如下所示:

转换并执行 Selenium 项目 TestNG

如果想先执行 DemoA,请删除其所在行并将其添加到 DemoB 之前:

转换并执行 Selenium 项目 TestNG

转换并执行 Selenium 项目 TestNG

步骤4) 执行 testng.xml 文件后,结果将显示如下。(由于没有写入 System.out.println() 语句,因此不会显示控制台输出。)

转换并执行 Selenium 项目 TestNG

这是执行测试的一种方法。 Eclipse要从命令提示符运行相同的 testng.xml 测试套件,请按照以下步骤操作。

演练: TestNG 通过命令行

运行一个 TestNG 要从命令行运行该套件,必须先找到项目工作区路径并构造正确的类路径命令。

步骤1) 用鼠标右键单击 Java 项目和选择 物业在“属性”窗口中,选择 更多相关资源.

演练: TestNG 通过命令行

步骤2) 点击 更多相关资源 点击左侧导航窗格中的链接,即可查看项目的确切存储位置。

演练: TestNG 通过命令行

项目工作区是 C:\Users\User\Desktop\Guru99\测试项目在命令提示符中将目录更改为该位置。

步骤3) 输入以下通用命令:

java –cp "path_of_lib_folder\*; path_of_bin_folder; path_of_testng.jar" org.testng.TestNG testng.xml

本项目请使用:

Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
  C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG testng.xml

步骤4) 媒体中心 输入DemoA 和 DemoB 都将执行,结果将显示在命令提示符中。

演练: TestNG 通过命令行

如何只运行失败的测试用例

如果您只想执行失败的测试用例,请通过以下方式: Eclipse首先刷新项目。

步骤1) 用鼠标右键单击 Java 项目(DemoA 和 DemoB)并选择 刷新或者选择项目并按 F5.

步骤2) 你现在会看到 测试输出 文件夹内有一个名为“ testng-failed.xml.

仅运行失败的测试用例

步骤3) 右键单击此文件并选择 运行方式 → TestNG 套件.

注意:只有当至少一个测试用例失败时,才会出现 test-output 文件夹。如果所有测试用例都通过,则该文件夹中不会包含 testng-failed.xml 文件。运行此文件只会重新执行失败的测试用例。

仅运行失败的测试用例

从命令行运行 testng-failed.xml

步骤1) 打开命令提示符并导航到项目工作区。

从命令行运行 testng-failed.xml

项目工作区是 C:\Users\User\Desktop\Guru99\测试项目将目录切换到该位置。

步骤2) 输入以下通用命令:

java –cp "path_of_lib_folder\*; path_of_bin_folder; path_of_testng.jar" org.testng.TestNG test-output/testng-failed.xml

对于此项目:

Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG test-output/testng-failed.xml

步骤3) 媒体中心 输入. TestNG 只会运行失败的类,并显示这些类的结果。

在 DemoB 中,如果您将代码更改为以下内容,则找不到该元素并会抛出异常。由于异常未得到处理,因此该类将失败:

driver.findElement(By.name("a")).sendKeys("Bye");

从命令行运行 testng-failed.xml

常见问题

TestNG 在任何包含失败的测试运行后,将失败的测试报告保存为 testng-failed.xml,位于项目的 test-output 文件夹中。

是的。右键单击 testng-failed.xml 文件。 Eclipse 然后选择“运行方式” TestNG 或者在命令提示符中使用 java -cp 命令指向 test-output/testng-failed.xml。

TestNG 只有当至少有一个测试失败时才会创建 testng-failed.xml 文件。如果所有测试都通过,则测试输出中不会包含失败的 XML 文件。

是的。人工智能工具可以分析堆栈。 traces 和 testng-failed.xml 内容可自动精确定位根本原因、建议代码修复和推荐断言改进。

AI 可以生成 IRetryAnalyzer 实现,区分不稳定故障和真实故障,并根据历史测试结果模式自动调整重试次数。

总结一下这篇文章: