TestNG 将命令行参数从 java main 方法传递给 testng.xml

mr_olaznog

我在 testng.xml 文件中像这样使用参数

<parameter name="name" value="value" />

但我希望该参数从我的主要方法中获取命令行参数的值。

public static void main(String[] args) {
    TestNG runner = new TestNG();
    List<String> suitefiles = new ArrayList<String>();
    suitefiles.add(args[0]);
    runner.setTestSuites(suitefiles);
    runner.run();
}

我该怎么做?

高瑟姆

您可以使用@BeforeSuite方法从代码中添加参数以及ITestContext作为参数(由 testng 自动注入)。不需要改变main方法。

在执行任何测试方法之前运行套件方法之前。

@BeforeSuite
public void beforeSuite(ITestContext ctx) {
    Map<String, String> paramMap = ctx.getSuite().getXmlSuite().getParameters();
    // put all parameters.
    map.put("name","value");
}

编辑:当命令行参数用作参数时

public class MyTest {
    // use this map to store the parsed params from command line.
    private static Map<String, String> paramMap = new HashMap<>();
    
    public static void main(String[] args) {
        // parse args and put to paramMap
        paramMap.put(args[1],args[2]);
        TestNG runner = new TestNG();
        List<String> suitefiles = new ArrayList<String>();
        suitefiles.add(args[0]);
        runner.setTestSuites(suitefiles);
        runner.run();
    }
}

现在更新beforeMethod为:

@BeforeSuite
public void beforeSuite(ITestContext ctx) {
    Map<String, String> paramMap = ctx.getSuite().getXmlSuite().getParameters();
    // put all parameters.
    map.putAll(paramMap);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

如何通过命令行将参数传递给testng xml

来自分类Dev

如何在命令行中将参数传递给testng?

来自分类Dev

如何通过mvn命令行传递testng.xml参数值

来自分类Java

testng-将列表作为参数传递给testng.xml

来自分类Dev

将参数传递到TestNG XML

来自分类Dev

在 testNG.xml 中传递的参数

来自分类Dev

将变量传递到testng.xml

来自分类Java

传递给Java main()的命令行参数中的引号

来自分类Dev

如何将XML文件内容作为命令行参数传递给Java命令?

来自分类Dev

有没有一种方法可以将POM参数/属性传递给TestNG XML文件?

来自分类Java

无法将参数从Maven命令传递给Testng Runner

来自分类Dev

通过命令行使用TestNG xml运行已编译的Java Selenium测试(具有依赖项)

来自分类Dev

GRADLE:TestNg-无法将-D参数传递给Java代码

来自分类Dev

将变量从jenkins传递到testng.xml

来自分类Java

Java将命令行参数从main方法调用到单独的方法

来自分类Dev

是否可以将参数传递给TestNG的@DataProvider?

来自分类Dev

如何将TestNG参数传递给Cucumber?

来自分类Java

如何动态地将命令行参数传递给main方法

来自分类Dev

测试 | 从可运行的 jar 中从 main 方法调用 testng.xml 文件

来自分类Dev

如何将动态参数传递给testNG中的dataProvider方法

来自分类Dev

TestNG 参数化传入方法

来自分类Dev

无法从testng.xml读取参数值

来自分类Dev

将json文件传递给testNG数据提供程序

来自分类Dev

TestNG XML无效

来自分类Dev

TestNG XML执行顺序

来自分类Dev

无法将WebDriver对象传递给TestNG中的工厂方法

来自分类Java

testng中的线程“ main”中的异常java.lang.NoClassDefFoundError

来自分类Dev

在TestNG中运行Java单元测试时消除对testng.xml的需要

来自分类Java

使用DataProvider传递lambda作为testng参数?

Related 相关文章

  1. 1

    如何通过命令行将参数传递给testng xml

  2. 2

    如何在命令行中将参数传递给testng?

  3. 3

    如何通过mvn命令行传递testng.xml参数值

  4. 4

    testng-将列表作为参数传递给testng.xml

  5. 5

    将参数传递到TestNG XML

  6. 6

    在 testNG.xml 中传递的参数

  7. 7

    将变量传递到testng.xml

  8. 8

    传递给Java main()的命令行参数中的引号

  9. 9

    如何将XML文件内容作为命令行参数传递给Java命令?

  10. 10

    有没有一种方法可以将POM参数/属性传递给TestNG XML文件?

  11. 11

    无法将参数从Maven命令传递给Testng Runner

  12. 12

    通过命令行使用TestNG xml运行已编译的Java Selenium测试(具有依赖项)

  13. 13

    GRADLE:TestNg-无法将-D参数传递给Java代码

  14. 14

    将变量从jenkins传递到testng.xml

  15. 15

    Java将命令行参数从main方法调用到单独的方法

  16. 16

    是否可以将参数传递给TestNG的@DataProvider?

  17. 17

    如何将TestNG参数传递给Cucumber?

  18. 18

    如何动态地将命令行参数传递给main方法

  19. 19

    测试 | 从可运行的 jar 中从 main 方法调用 testng.xml 文件

  20. 20

    如何将动态参数传递给testNG中的dataProvider方法

  21. 21

    TestNG 参数化传入方法

  22. 22

    无法从testng.xml读取参数值

  23. 23

    将json文件传递给testNG数据提供程序

  24. 24

    TestNG XML无效

  25. 25

    TestNG XML执行顺序

  26. 26

    无法将WebDriver对象传递给TestNG中的工厂方法

  27. 27

    testng中的线程“ main”中的异常java.lang.NoClassDefFoundError

  28. 28

    在TestNG中运行Java单元测试时消除对testng.xml的需要

  29. 29

    使用DataProvider传递lambda作为testng参数?

热门标签

归档