【问题标题】:How to change the @Test method dynamically in TestNG如何在 TestNG 中动态更改 @Test 方法
【发布时间】:2017-04-30 04:04:48
【问题描述】:

这更多是关于测试自动化框架设计的问题。确实很难在一行中总结整个问题:) 我正在使用 Selenium 创建一个测试自动化框架。大多数情况下,我从 excel 文件中访问数据(方法名称)。

在我的主要Runner 课程中,我得到了一个测试用例列表。每个测试用例都有一组方法(可以相同或不同),我在 java 类中定义并使用 java 反射 api 执行每个方法。到目前为止一切都很好。

现在我想在我的自动化套件中加入 TestNG 和报告/日志记录。问题是我不能为每种方法使用@Test,因为TestNG 认为@Test = 1 个测试用例——但我的1 个测试用例可能有超过1 个方法。我的方法更像是测试用例的测试步骤,原因是我不想重复代码。我想创建一个@Test 动态调用不同的方法集并在Java 中执行它们或者为@Test 定义每个teststeps。我正在浏览 TestNG 文档,但找不到任何功能来处理这种情况。

非常感谢任何帮助,如果您有任何其他想法来处理这种情况,我会在这里倾听。

【问题讨论】:

    标签: java unit-testing selenium testing automation


    【解决方案1】:

    您是否尝试过以下操作?

    @Test(priority = 1)
        public void step1() {
        //code
    }
    @Test(priority = 2)
        public void step2() {
        //code
    }
    

    每个方法都需要使用“优先级”,否则不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多