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

在本教程中,您将学习-

创建一个 Selenium 项目

准备项目

步骤1) In Eclipse, 创造 Java 点击新建 Java 项目

创建一个 Selenium 项目

步骤2) 在此步骤中,

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

创建一个 Selenium 项目

单击完成按钮后,“TestProject” Java 项目已创建。“TestProject”将如下所示。

创建一个 Selenium 项目

步骤3) 打开新创建的项目。您将能够在 Package Explorer 中看到“src”文件夹。

  1. 右键单击项目并选择“新建”
  2. 选择选项包

创建一个 Selenium 项目

步骤4) 在此步骤中,

  1. 浏览 src 文件夹并选择包
  2. 给出包名称并
  3. 最后点击完成按钮。(包名->com.test)

创建一个 Selenium 项目

单击“完成”后,项目结构将如下所示:

创建一个 Selenium 项目

步骤5) 在此步骤中,

  1. 现在,右键单击新创建的包并
  2. 选择选项“class”。

创建一个 Selenium 项目

将打开一个新窗口。

步骤6) 在此步骤中,

  1. 给出“班级”名称
  2. 选择修饰符
  3. 浏览并选择超类 java.lang.object
  4. 单击完成按钮。

在这里,您正在创建两个类,例如: 演示 A、演示 B.

首先创建类 DemoA。

创建一个 Selenium 项目

当你点击“完成”按钮时,它将创建如下类:

创建一个 Selenium 项目

类似地,创建类 DemoB,当您单击“完成”按钮时,类将如下所示 -

创建一个 Selenium 项目

步骤7) 如果你已经安装 TestNG 图书馆只需点击 Java 项目—>属性。

创建一个 Selenium 项目

步骤8) 现在在属性窗口中,

  1. 点击 Java 构建路径
  2. 点击“库”
  3. 单击添加库。

创建一个 Selenium 项目

下一篇

  1. 点击“TestNg”
  2. 点击“下一步”。

创建一个 Selenium 项目

然后点击“完成”按钮。

创建一个 Selenium 项目

之后,写入以下代码。

对于 DemoA 类

创建一个 Selenium 项目

代码说明:

  • 驱动程序.管理().窗口().最大化();

此行将最大化浏览器窗口。

  • 驱动程序.获取(https://www.google.co.in);

此行将在 URL 字段中输入指定的 URL。

  • 驱动程序.findElement(By.name("q"))。sendKeys("Hi");

此行将识别“Google”搜索框并输入您使用 sendKeys 方法发送的数据。

输出:上述程序包含错误,因此无法执行。

同样对于 DemoB 类,

创建一个 Selenium 项目

红色下划线的字词是此处的错误。因为您尚未添加包含这些类和接口的 jar 文件。为了消除上述代码中的错误,请添加相应的 jar 文件。右键单击 Java 项目并选择“属性”。

创建一个 Selenium 项目

步骤8) 在属性窗口中,

  1. 点击 Java 在左侧导航窗格上构建路径。
  2. 单击“库”选项卡,
  3. 单击添加外部 JAR,然后选择 Selenium-独立 jar 文件
  4. 点击“确定”按钮。

创建一个 Selenium 项目

完成此步骤后,所有错误将自动消除。如果没有,请将鼠标放在显示错误的代码上并导入所有必要的类和接口。

对于@test,如果仍然显示错误,则将鼠标放在那里。它将显示可能的选项。然后单击添加 TestNG 库选项。对其他“类”也同样如此。

在两个类(即 DemoA 和 DemoB)中编写代码后,转到下一步。

步骤9) 在此步骤中,

  1. 右键单击项目并
  2. 选择选项文件夹创建一个名为“lib”的文件夹并粘贴 testNG jar 文件和 selenium jar 文件(selenium-server-standalone ).(测试和 Selenium-server-standalone jar 文件需要从网上下载并存储在您的系统中。您需要手动转到该文件夹​​并复制这两个 jar,然后右键单击 eclipse 中的“lib”文件夹并单击粘贴)

创建一个 Selenium 项目

步骤10) 在此步骤中,

1. 选择父文件夹

2. 将文件夹名称设为“lib”(将这两个 jar 文件添加到 lib 文件夹中的主要目的是,在从命令提示符执行时,您可以告诉编译器执行程序所需的 jar 文件存在于此位置。如果您想从 eclipse 执行 testng.xml,那么这个 lib 文件夹就根本不需要了)

3. 点击“完成”按钮

创建一个 Selenium 项目

测试和 Selenium-server-standalone jar 文件需要从网上下载并存储在您的系统中。您需要手动转到该文件夹​​并复制这两个 jar,然后右键单击 eclipse 中的“lib”文件夹,然后单击粘贴

创建文件夹后,下一步就是将我们的程序 DemoA 和 DemoB 转换为 Testng.xml 文件。

转换并执行 Selenium 项目 TestNG

步骤1) 在此步骤中,

  1. 选择包下的两个 java 文件并右键单击。
  2. 选择名为“testNG”的选项。
  3. 点击转换为“testNG”。

转换并执行 Selenium 项目 TestNG

步骤2) 将打开一个新窗口。在此窗口中,输入以下详细信息:

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

转换并执行 Selenium 项目 TestNG

然后在java项目下创建testng.xml文件,它将看起来像这样。

转换并执行 Selenium 项目 TestNG

(如果你想运行该 testng.xml 文件,则右键单击 Package Explorer 左侧导航窗格中的 testng.xml 文件,然后单击“以...身份运行” TestNG 套房。 )

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

转换并执行 Selenium 项目 TestNG

如果要首先执行 DemoA 类,则删除该整行并将其添加到 DemoB 类之前,如下所示:

转换并执行 Selenium 项目 TestNG

转换并执行 Selenium 项目 TestNG

步骤4) 执行 testng.xml 文件后,它将以以下方式显示结果。(由于您没有使用 System.out.println() 编写任何可执行语句,因此它不会在控制台窗口上打印任何内容)。

转换并执行 Selenium 项目 TestNG

这是通过 eclipse 执行测试的方法之一,如果您想从命令提示符执行包含两个类文件(如 DemoA、DemoB)的相同 testng.xml 套件文件,您需要按照以下步骤操作。

现在打开命令提示符并转到项目工作区。

演练: TestNG 通过命令行

您需要找到项目空间的位置

步骤1) 首先右键单击 Java 项目并选择属性选项。在属性窗口中选择选项资源。

演练: TestNG 通过命令行

步骤2) 现在,当您点击左侧导航窗格中的“资源”链接时。它将显示项目的确切存储位置

演练: TestNG 通过命令行

项目工作区是 C:\Users\User\Desktop\Guru99\TestProject。因此,您正在将目录更改为该特定位置。

步骤3) 然后输入以下命令。(此命令是通用命令)

演练: TestNG 通过命令行

java –cp “工作区中 lib 文件夹的路径\*;项目工作区中 bin 文件夹的路径;项目工作区的 lib 文件夹中 testng.jar 文件的路径” org.testng。TestNG 测试ng.xml

但对于我们的项目,您需要编写以下命令。

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

步骤4) 然后按 Enter。类 DemoA 和 DemoB 都将开始执行。最后,它将在命令提示符上显示结果。

演练: TestNG 通过命令行

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

如果您希望仅通过 Eclipse,那么首先刷新项目。

步骤1)右键单击java项目(Demo A和B)。

选择刷新选项或直接选择 java 项目并按 F5。

第 2 步)然后您将能够看到测试输出文件夹。

在该文件夹中,您有一个名为 testng-failed.xml 的文件。

仅运行失败的其余案例

步骤 3) 右键单击​​此文件,然后单击“以...身份运行”,并选择名为“testNG suite”的选项。

假设您有三个测试用例,如果所有测试用例都成功执行,则意味着您无法在测试输出文件夹下看到此文件夹。只有当其中一个测试用例失败时,此文件夹才会出现。然后运行此文件,它将仅运行失败的测试用例。

仅运行失败的其余案例

从命令行运行 testng-failed.xml 文件

步骤1) 在命令提示符中运行失败的测试用例。打开命令提示符并转到项目工作区。

从命令行运行 Testng-failed.xml 文件

我的项目工作区是 C:\Users\User\Desktop\Guru99\TestProject. 因此您将改变目录到该特定位置。

步骤2) 键入以下命令。(此命令是通用命令)

java –cp “工作区中 lib 文件夹的路径\*;项目工作区中 bin 文件夹的路径;项目工作区的 lib 文件夹中 testing.jar 文件的路径” org.testng。TestNG 测试输出/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) 然后按 Enter。它将只运行失败的课程并仅显示与该课程相对应的内容。

在上面的类即 DemoB 中,只需像这样更改代码。

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

上面的代码将找不到任何元素。因此,它将抛出异常。但在我们的程序中,您没有处理异常,因此我们的程序将停止执行剩余的代码。由于这个原因,ClassB 将失败。

从命令行运行 Testng-failed.xml 文件

结语

  • TestNG 是一个自动化测试框架,它受到 Junit 的启发并包含不同的注释。
  • TestNG 在其标准报告中生成报告,其中包含以下内容:
  • 有多少个测试用例?
  • 通过了多少个测试用例?
  • 有多少测试用例失败了?
  • 跳过了多少测试用例?
  • 通过将测试类转换为测试套件文件,可以轻松地分组多个测试用例并执行它们。
  • TestNG 可以轻松与其他第三方工具集成。它提供不同的功能,例如为测试用例分配优先级、使用调用计数多次执行相同的测试用例。
  • 如果在执行多个测试用例时任何一个测试用例失败,则可以单独执行该特定的测试用例。
  • Reporter 类的静态方法“log”可用于存储 org.testng 中的日志信息

总结一下这篇文章: