java - 如何从java动态创建xml文件中的节点中的节点

标签 java xml dynamic xml-parsing testng

这是我的 xml 文件,我想从 java 代码动态创建它

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="4" name="cool" verbose="5" parallel="tests">

 <test name="test_case6" parallel="tests">
    <parameter name="testsuite" value="Fleet"/>
    <parameter name="className" value="Fleet"/>
    <parameter name="methodName" value="TC_02"/>
    <parameter name="runtype" value="mobile"/>
    <parameter name="browser" value="NA"/>
    <parameter name="width_height" value="NA"/>
    <parameter name="deviceName" value="LGG3"/>
    <parameter name="deviceVersion" value="20"/>
    <parameter name="reportFolderName" value="Report6"/>
    <classes>
      <class name="com.igate.tests.GalenParallelMain">
      </class>
    </classes>
  </test>
</suite>

此处 name 属性值是硬编码的,但 value 属性值将动态生成。 我尝试搜索这个,但所有示例都非常简单。

最佳答案

据我了解,您想通过 TestNG API 创建它,不是吗?

    XmlClass xmlClass = new XmlClass();
    xmlClass.setName("com.igate.tests.GalenParallelMain");
    //        xmlClass.setClass(GalenParallelMain.class);

    Map<String, String> parameters = new HashMap<String, String>();
    parameters.put("runtype", "mobile");
    parameters.put("browser", "na");
    // ...

    XmlSuite xmlSuite = new XmlSuite();
    xmlSuite.setName("cool");
    xmlSuite.setThreadCount(4);
    xmlSuite.setVerbose(5);
    xmlSuite.setParallel("tests");

    XmlTest xmlTest = new XmlTest(xmlSuite);
    xmlTest.setName("test_case6");
    xmlTest.setParallel("tests");
    xmlTest.setParameters(parameters);
    xmlTest.setClasses(Arrays.asList(xmlClass));

    // the XML you requested
    System.out.println(xmlSuite.toXml());

    TestNG testNG = new TestNG();
    testNG.setXmlSuites(Arrays.asList(xmlSuite));
    testNG.run();

关于java - 如何从java动态创建xml文件中的节点中的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36930724/

相关文章:

java - 使用 XStream 反序列化 XML 在 OSGi (Java 1.4) 中不起作用

sql-server - sql 作业中的 Xml 解析问题

php - 使用命名空间解析 XML 响应

jquery - 注入(inject)表单元素后重新加载 DOM?

java - 导入我的证书时出现 jdk keytool 异常

java - System.currentMillis 用于跟踪 java 中的过期项目

java - 如何使用 Java 和 Jersey 存储下载的文件?

python - 忠实地保留已解析 XML 中的注释

c# - 根据用户输入创建数据库和实体模型

c# - 动态成员表达式