如何在TestNg和eclipse中执行测试套件

时间:2014-11-15 09:10:22

标签: java xml eclipse selenium testng

我正在尝试使用eclipse和selenium webdriver处理TestNg。

我创建了一个包com.selenium.practice 我在上面的包中创建了2个测试类Test1和Test2。 然后我在同一个包中创建了testng.xml。 xml的内容为

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite" verbose="1" >
  <test name="NameofMyTest" >
      <classes>
       <class name="com.selenium.practice.Test1" />
       <class name="com.selenium.practice.Test2" />
  </classes>
  </test>
</suite>

当我使用TestNg执行上面的xml时,不会执行任何类。但是在eclipse控制台上我收到了日志

=============================================== 套件

运行总测试:2,失败:2,跳过:0

有人可以帮我吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

用testng.xml编写的代码非常完美。我认为在构建项目时存在一些问题。我关闭了日蚀,重建了这个项目。执行后它工作正常。

我观察到的一件事是,在testng.xml中我们需要提供完整的类路径。只是一个班级名称无效。

答案 1 :(得分:0)

以下代码完美地运行使用selenium运行多个套件。

     <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="SuiteA"  > 
    <!-- suite name="Suite Name" --> 


                 <test name="TestA1" allow-return-values="true">
                         <classes>
                           <!-- packagename.Testcase class name  -->
                                 <class name ="com.qtpselenium.suiteA.TestCaseA1" />
                         </classes>
                 </test>

                 <test name="TestA2" allow-return-values="true">
                         <classes>
                           <!-- packagename.Testcase class name  -->
                                 <class name ="com.qtpselenium.suiteA.TestCaseA1" />
                         </classes>
                 </test>



    </suite>

    ************************

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="SuiteB"  > 
    <!-- suite name="Suite Name" --> 


                 <test name="TestB1" allow-return-values="true">
                         <classes>
                           <!-- packagename.Testcase class name  -->
                                 <class name ="com.qtpselenium.suiteB.TestCaseB1" />
                         </classes>
                 </test>

                 <test name="TestB2" allow-return-values="true">
                         <classes>
                           <!-- packagename.Testcase class name  -->
                                 <class name ="com.qtpselenium.suiteB.TestCaseB2" />
                         </classes>
                 </test>


    </suite>

    ***************************

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="SuiteC"  > 
    <!-- suite name="Suite Name" --> 


                 <test name="TestC1" allow-return-values="true">
                         <classes>
                           <!-- packagename.Testcase class name  -->
                                 <class name ="com.qtpselenium.suiteC.TestCaseC1" />
                         </classes>
                 </test>

                 <test name="TestC2" allow-return-values="true">
                         <classes>
                           <!-- packagename.Testcase class name  -->
                                 <class name ="com.qtpselenium.suiteC.TestCaseC2" />
                         </classes>
                 </test>


    </suite>

    ********************************

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="TestNG Dadadriver suite"  > 
    <!-- suite name="Suite Name" --> 


            <suite-files>
                   <suite-file path="./suiteA.xml" />
                   <suite-file path="./suiteB.xml" />
                   <suite-file path="./suiteC.xml" />

            </suite-files>


    </suite>