TestNG测试用例

2023-10-30

使用TestNG的第一个测试用例

要遵循的步骤:

1)按Ctrl + N,在TestNG类别下选择“ TestNG Class ” ,然后单击Next

要么

右键单击Test Case文件夹,转到TestNG并选择“ TestNG Class ”。

TestNG的-FTC-1

2)如果您的项目已设置并且您在创建TestNG类之前选择了“测试用例”文件夹,则源文件夹和包名称将在表单上预先填充。将类名设置为“ TestNG ”。

在Annotations下,选中“ @BeforeMethod ”,“ @ AfterMethod ”并单击Finish。而已。

TestNG的-FTC-2

3)现在它将在Test Case包(文件夹)下显示新创建的TestNg类。TestNG类看起来像下面的图像,显​​示三个空方法。一个方法f()默认情况下和方法之前和之后,在创建类时选择。

TestNG的-FTC-3

4)Project Explorer将使用TestNG类看起来像这样。

 

TestNG的-FTC-4

现在是时候编写第一个TestNG测试用例了。

5)让我们以第一个测试用例为例,将测试用例分为三个部分。

@BeforeMethod:启动Firefox并将其指向基本URL

@Test:输入登录用户名和密码,打印控制台消息并注销

@AfterMethod:关闭Firefox浏览器

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

package automationFramework;

 

import java.util.concurrent.TimeUnit;

 

import org.openqa.selenium.By;

 

import org.openqa.selenium.WebDriver;

 

import org.openqa.selenium.firefox.FirefoxDriver;

 

import org.testng.annotations.Test;

 

import org.testng.annotations.BeforeMethod;

 

import org.testng.annotations.AfterMethod;

 

public class TestNG {

 

public WebDriver driver;

 

  @Test

 

  public void main() {

 

// Find the element that's ID attribute is 'account'(My Account)

 

      driver.findElement(By.id("account")).click();

 

      // Find the element that's ID attribute is 'log' (Username)

 

      // Enter Username on the element found by above desc.

 

      driver.findElement(By.id("log")).sendKeys("testuser_1");

 

      // Find the element that's ID attribute is 'pwd' (Password)

 

      // Enter Password on the element found by the above desc.

 

      driver.findElement(By.id("pwd")).sendKeys("Test@123");

 

      // Now submit the form. WebDriver will find the form for us from the element

 

      driver.findElement(By.id("login")).click();

 

      // Print a Log In message to the screen

 

      System.out.println(" Login Successfully, now it is the time to Log Off buddy.");

 

      // Find the element that's ID attribute is 'account_logout' (Log Out)

 

      driver.findElement(By.id("account_logout"));

 

  }

 

  @BeforeMethod

 

  public void beforeMethod() {

 

  // Create a new instance of the Firefox driver

 

      driver = new FirefoxDriver();

 

      //Put a Implicit wait, this means that any search for elements on the page could take the time the implicit wait is set for before throwing exception

 

      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

 

      //Launch the Online Store Website

 

      driver.get("http://www.onlinestore.toolsqa.wpengine.com");

 

  }

 

  @AfterMethod

 

  public void afterMethod() {

 

  // Close the driver

 

      driver.quit();

 

  }

 

}

6)右键单击测试用例脚本运行测试,然后选择Run As > TestNG Test

TestNG的-FTC-5

 

运行Testng测试用例的结果

7)完成执行几分钟后,一旦完成,结果将在TestNg Result窗口中显示如下。

TestNG的-FTC-6

它显示'传递:1'。这意味着测试成功并通过。

有3个子标签。“所有测试”,“测试失败”和“摘要”。只需单击“所有测试”即可查看其中的内容。

TestNG的-FTC-7

如您所见,有关于执行哪些测试用例及其持续时间的信息。看看其他标签。比Junit好吗?

8)TestNG还生成HTML报告。要访问这些报告,请转到Project目录并打开test-output文件夹。

TestNG的-FTC-8

9)打开' emailable-report.html ',因为这是一个用浏览器打开它的html报告。

TestNG的-FTC-9

10)TestNG还生成' index.html '报告,它位于同一个测试输出文件夹中。此报告提供指向TestNG报告的所有不同组件(如报告输出)的链接。单击这些将显示执行的详细描述。在TestNG的高级章节中,我们将介绍每个TestNG主题。

TestNG的-FTC-10

TestNG的-FTC-11

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TestNG测试用例 的相关文章

  • TestNG中BeforeClass和BeforeTest的区别

    从 TestNG 官方文档中我们得知 BeforeClass 带注释的方法将在调用当前类中的第一个测试方法之前运行 BeforeTest 带注释的方法将在属于该类内部的任何测试方法之前运行
  • 我是 Java 自动化测试的新手。我应该选择哪种工具? JUnit 还是 TestNG?

    我读过一些比较JUnit and TestNG看起来 TestNG 有更多的配置选项 另一方面 JUnit 更受 IDE 构建工具的支持 拥有更多的插件 我没有编写单元测试的经验 我应该选择哪种工具 附 我认为我的问题更像是 我应该尝试 T
  • 将驱动程序对象的单个实例传递给所有其他类(Testng 框架)

    我有一个在类示例中初始化的驱动程序对象 我也想将驱动程序对象传递给其他类 但我得到一个空指针异常 我的代码是 样本类 public class sample WebDriver driver Test priority 1 public v
  • 如何在 AfterMethod 中 TestNG 中测试失败?

    我想在每次测试后检查一些外部日志文件 看看执行过程中是否存在错误 抛出异常AfterMethod不起作用 因为 TestNG 的处理方式不同 它只会使配置方法失败 而不是前面的测试失败 我的方法是这样的 AfterMethod always
  • 如何更改Intellij IDEA中的默认测试框架?

    情况如下 我已经成功创建了测试IntellijIDEA with JUnit 然后 当我右键单击测试文件夹来运行测试时 我意外地选择了TestNG代替JUnit 现在 当我尝试通过右键单击测试文件夹并单击运行 所有测试 来运行测试时 它会尝
  • 忽略 testng 中的一个类

    当我运行我的 testng 套件时 有一些测试类需要被忽略 我尝试对需要忽略的类和方法使用 Test enabled false 注释 但我的问题是 需要忽略的类扩展了一个抽象类 并且即使我在基类上有 Test enabled false
  • TestNG - 在测试类之间共享状态

    我有一个testng questions tagged testng我通过 testng xml 文件运行的测试类套件 这很好用 所有测试都是串行运行的 因此不存在并行执行障碍 我现在的目标是获取一个测试类中的测试方法生成的状态 例如 cu
  • TestNG 未找到测试。没有运行任何内容

    我的 TestNg 代码面临一个奇怪的问题 当我在没有 dataprovider 的情况下运行 testng 类时 我的测试成功运行并失败 这是我所期望的 但是当我将我的数据提供者保留在班级中进行测试时 测试给出错误 TestNG 未找到测
  • 使用 testNG 并行化测试时,类中的测试不会在同一线程中执行

    测试ng xml
  • 用于使用 webdriver 查找 webelement 的多个定位器

    我正在使用 Selenium WebdriverQAF https github com qmetry qaf 我面临的问题与在网页上查找元素有关 对于少数元素 不同的定位器在不同的时间工作 例如 有时 name nameA 有效 有时 n
  • @BeforeClass 和继承 - 执行顺序

    我有一个抽象基类 我用它作为单元测试的基础 TestNG 5 10 在这个类中 我初始化了测试的整个环境 设置数据库映射等 这个抽象类有一个方法 该方法带有 BeforeClass进行初始化的注释 接下来 我用我所拥有的特定课程来扩展该课程
  • 黄瓜与 TestNG

    我们在 TestNG 中使用 Selenium WebDriver 有一个非常广泛的框架 我希望能够继续使用它 但使用 Cucumber BDD 我知道 Cucumber 可以与 JUnit 一起使用 但不确定它是否可以与 TestNG 一
  • 事务注释避免服务被嘲笑

    我有一个 drools 规则文件 它在规则中使用服务类 因此 一条规则的作用如下 eval countryService getCountryById 1 null 在使用 service 和 Transactional propagati
  • SLF4j 与 Log4j2 错误无法调用元素 RollingFile 的类 ...RollingFileAppender 中的工厂方法

    我在 TestNG 中并行运行一些 WebDriver 测试 我希望能够将在目录结构中运行的每个测试的日志记录到单独的文件中 如下所示 target logs TestNGSuiteName SuiteStartTime Test1Clas
  • 为什么 throw new SkipException() 会跳过我的所有方法?

    为什么 throw new SkipException 会跳过所有类中的所有方法 第一类有一个方法失败 因此该类中的其余方法将被跳过 并且跳过计数器设置为 0 第二类应该执行所有方法 并且所有方法都应该传入第二类 因为跳过计数器设置为 0
  • 在 logback 中记录并行线程

    我将尝试对我的 Selenium 框架进行简要描述 以便我可以解释我的问题 I use 硒2 当前版本2 3 1 测试NG 5 14 我设置 testng xml 文件来并行运行测试套件中的测试 只有 2 个实例 出于记录目的 我使用log
  • 防止 TestNg 在并行测试之间共享数据

    Goal 并行独立运行 2 个类 其中每个测试将方法名称存储到稍后可以在测试中访问的变量中 Issue 当测试并行运行时 它们开始在彼此之间共享数据 从而破坏测试 如果您看到控制台输出 则这是错误的 INFO Name of Test fr
  • 参数化单元测试套件

    我正在尝试设置一些参数化测试套件 不幸的是到目前为止还没有任何运气 我有两组参数 我想使用所有可能的组合运行多个测试用例 它们位于不同的类中 我尝试使用 JUnit4 来完成此操作 但无法正确设置 这将是我的基本想法 TestSuite1
  • 如何以编程方式使用 TestNG 运行 Selenium Java 测试?

    我使用 Selenium RC 和 Java 使用 TestNG 作为测试框架 我使用 Eclipse 作为 IDE 我想非常轻松地从我自己的程序中调用 TestNG 我怎样才能做到这一点 我的以下 Java 代码运行良好 Test pub
  • 截取屏幕截图时出现异常 null 且配置失败:@AfterMethod 拆解

    从昨天开始我遇到了一些麻烦并且陷入困境 无法找出其原因 在这里尝试了答案的解决方案 我创建了 Test 其中包含用于登录和检查应用程序仪表板的代码示例 和 AfterMethod 当 Assert 为 false 时 应该捕获屏幕截图 如果

随机推荐