如何在testng.xml中使用方法名,类名和参数指定测试?

时间:2017-06-05 10:12:24

标签: java xml testng

我希望在我的testng.xml中有测试级别参数,下面是我的testng.xml文件中的代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="My Test Suite" verbose="1">
   <parameter name="param1" value="value1" />
   <parameter name="param2" value="value2" />
   <listeners>
      <listener class-name="TestListener" />
   </listeners>
   <test name="Test1">
      <parameter name="param" value="value" />
      <classes>
         <class name="ClassContainingTest1" />
         <methods>
            <include name="test1" />
         </methods>
      </classes>
   </test>
   <test name="Test2">
      <parameter name="param" value="value" />
      <classes>
         <class name="ClassContainingTest2" />
         <methods>
            <include name="test2" />
         </methods>
      </classes>
   </test>
</suite>

但XML编辑器以红色突出显示classes标记。我的XML结构似乎有问题,但我无法弄清楚。

请帮忙。

1 个答案:

答案 0 :(得分:2)

问题在于methods标记不在class标记内。

修改下面的XML代码修复了问题:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="My Test Suite" verbose="1">
   <parameter name="param1" value="value1" />
   <parameter name="param2" value="value2" />
   <listeners>
      <listener class-name="TestListener" />
   </listeners>
   <test name="Test1">
      <parameter name="param" value="value" />
      <classes>
         <class name="ClassContainingTest1">
            <methods>
               <include name="test1" />
            </methods>
         </class>
      </classes>
   </test>
   <test name="Test2">
      <parameter name="param" value="value" />
      <classes>
         <class name="ClassContainingTest2">
            <methods>
               <include name="test2" />
            </methods>
         </class>
      </classes>
   </test>
</suite>