如何执行失败的测试用例 TestNG
在本教程中,您将学习-
创建一个 Selenium 项目
准备项目
步骤1) In Eclipse, 创造 Java 点击新建 Java 项目
步骤2) 在此步骤中,
- 给出项目名称
- 选择执行环境
- 选择项目布局选项
- 点击“完成”按钮。
单击完成按钮后,“TestProject” Java 项目已创建。“TestProject”将如下所示。
步骤3) 打开新创建的项目。您将能够在 Package Explorer 中看到“src”文件夹。
- 右键单击项目并选择“新建”
- 选择选项包
步骤4) 在此步骤中,
- 浏览 src 文件夹并选择包
- 给出包名称并
- 最后点击完成按钮。(包名->com.test)
单击“完成”后,项目结构将如下所示:
步骤5) 在此步骤中,
- 现在,右键单击新创建的包并
- 选择选项“class”。
将打开一个新窗口。
步骤6) 在此步骤中,
- 给出“班级”名称
- 选择修饰符
- 浏览并选择超类 java.lang.object
- 单击完成按钮。
在这里,您正在创建两个类,例如: 演示 A、演示 B.
首先创建类 DemoA。
当你点击“完成”按钮时,它将创建如下类:
类似地,创建类 DemoB,当您单击“完成”按钮时,类将如下所示 -
步骤7) 如果你已经安装 TestNG 图书馆只需点击 Java 项目—>属性。
步骤8) 现在在属性窗口中,
- 点击 Java 构建路径
- 点击“库”
- 单击添加库。
下一篇
- 点击“TestNg”
- 点击“下一步”。
然后点击“完成”按钮。
之后,写入以下代码。
对于 DemoA 类
代码说明:
- 驱动程序.管理().窗口().最大化();
此行将最大化浏览器窗口。
- 驱动程序.获取(https://www.google.co.in);
此行将在 URL 字段中输入指定的 URL。
- 驱动程序.findElement(By.name("q"))。sendKeys("Hi");
此行将识别“Google”搜索框并输入您使用 sendKeys 方法发送的数据。
输出:上述程序包含错误,因此无法执行。
同样对于 DemoB 类,
红色下划线的字词是此处的错误。因为您尚未添加包含这些类和接口的 jar 文件。为了消除上述代码中的错误,请添加相应的 jar 文件。右键单击 Java 项目并选择“属性”。
步骤8) 在属性窗口中,
- 点击 Java 在左侧导航窗格上构建路径。
- 单击“库”选项卡,
- 单击添加外部 JAR,然后选择 Selenium-独立 jar 文件
- 点击“确定”按钮。
完成此步骤后,所有错误将自动消除。如果没有,请将鼠标放在显示错误的代码上并导入所有必要的类和接口。
对于@test,如果仍然显示错误,则将鼠标放在那里。它将显示可能的选项。然后单击添加 TestNG 库选项。对其他“类”也同样如此。
在两个类(即 DemoA 和 DemoB)中编写代码后,转到下一步。
步骤9) 在此步骤中,
- 右键单击项目并
- 选择选项文件夹创建一个名为“lib”的文件夹并粘贴 testNG jar 文件和 selenium jar 文件(selenium-server-standalone ).(测试和 Selenium-server-standalone jar 文件需要从网上下载并存储在您的系统中。您需要手动转到该文件夹并复制这两个 jar,然后右键单击 eclipse 中的“lib”文件夹并单击粘贴)
步骤10) 在此步骤中,
1. 选择父文件夹
2. 将文件夹名称设为“lib”(将这两个 jar 文件添加到 lib 文件夹中的主要目的是,在从命令提示符执行时,您可以告诉编译器执行程序所需的 jar 文件存在于此位置。如果您想从 eclipse 执行 testng.xml,那么这个 lib 文件夹就根本不需要了)
3. 点击“完成”按钮
测试和 Selenium-server-standalone jar 文件需要从网上下载并存储在您的系统中。您需要手动转到该文件夹并复制这两个 jar,然后右键单击 eclipse 中的“lib”文件夹,然后单击粘贴
创建文件夹后,下一步就是将我们的程序 DemoA 和 DemoB 转换为 Testng.xml 文件。
转换并执行 Selenium 项目 TestNG
步骤1) 在此步骤中,
- 选择包下的两个 java 文件并右键单击。
- 选择名为“testNG”的选项。
- 点击转换为“testNG”。
步骤2) 将打开一个新窗口。在此窗口中,输入以下详细信息:
- 地点
- 套房名称
- 考试名称
- 选课
- 并行模式
- 点击“完成”按钮
然后在java项目下创建testng.xml文件,它将看起来像这样。
(如果你想运行该 testng.xml 文件,则右键单击 Package Explorer 左侧导航窗格中的 testng.xml 文件,然后单击“以...身份运行” TestNG 套房。 )
步骤3) testng.xml 套件文件将如下所示:
如果要首先执行 DemoA 类,则删除该整行并将其添加到 DemoB 类之前,如下所示:
步骤4) 执行 testng.xml 文件后,它将以以下方式显示结果。(由于您没有使用 System.out.println() 编写任何可执行语句,因此它不会在控制台窗口上打印任何内容)。
这是通过 eclipse 执行测试的方法之一,如果您想从命令提示符执行包含两个类文件(如 DemoA、DemoB)的相同 testng.xml 套件文件,您需要按照以下步骤操作。
现在打开命令提示符并转到项目工作区。
演练: TestNG 通过命令行
您需要找到项目空间的位置
步骤1) 首先右键单击 Java 项目并选择属性选项。在属性窗口中选择选项资源。
步骤2) 现在,当您点击左侧导航窗格中的“资源”链接时。它将显示项目的确切存储位置
项目工作区是 C:\Users\User\Desktop\Guru99\TestProject。因此,您正在将目录更改为该特定位置。
步骤3) 然后输入以下命令。(此命令是通用命令)
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 都将开始执行。最后,它将在命令提示符上显示结果。
如何仅运行失败的测试用例
如果您希望仅通过 Eclipse,那么首先刷新项目。
步骤1)右键单击java项目(Demo A和B)。
选择刷新选项或直接选择 java 项目并按 F5。
第 2 步)然后您将能够看到测试输出文件夹。
在该文件夹中,您有一个名为 testng-failed.xml 的文件。
步骤 3) 右键单击此文件,然后单击“以...身份运行”,并选择名为“testNG suite”的选项。
假设您有三个测试用例,如果所有测试用例都成功执行,则意味着您无法在测试输出文件夹下看到此文件夹。只有当其中一个测试用例失败时,此文件夹才会出现。然后运行此文件,它将仅运行失败的测试用例。
从命令行运行 testng-failed.xml 文件
步骤1) 在命令提示符中运行失败的测试用例。打开命令提示符并转到项目工作区。
我的项目工作区是 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 是一个自动化测试框架,它受到 Junit 的启发并包含不同的注释。
- TestNG 在其标准报告中生成报告,其中包含以下内容:
- 有多少个测试用例?
- 通过了多少个测试用例?
- 有多少测试用例失败了?
- 跳过了多少测试用例?
- 通过将测试类转换为测试套件文件,可以轻松地分组多个测试用例并执行它们。
- TestNG 可以轻松与其他第三方工具集成。它提供不同的功能,例如为测试用例分配优先级、使用调用计数多次执行相同的测试用例。
- 如果在执行多个测试用例时任何一个测试用例失败,则可以单独执行该特定的测试用例。
- Reporter 类的静态方法“log”可用于存储 org.testng 中的日志信息



































