重复TestNG Selenium测试用例(然后重复测试)

时间:2014-08-14 18:32:52

标签: java selenium selenium-webdriver automated-tests testng

我正致力于使用TestNG和selenium自动测试网站。这个网站处理一堆学校的数据。

目前,我正在使用@Parameters注释在所有浏览器中重复我的测试。但是,我需要为多个学校重新运行某些测试类(除了重新运行多个浏览器之外)。

更具体地说,假设我有这个SchoolTest.java测试类。我需要为3所学校中的每一所学校重新运行整个课程,然后为每个浏览器重新运行这3所学校中的每一所学校,总共重复6次(2 * 3)。

我怎样才能做到这一点?我想要完成的伪代码如下。

For each browser
    for each school
        run TestNG test class.

1 个答案:

答案 0 :(得分:0)

保持当前代码不变,您可以拥有此解决方案。为学校和浏览器创建单独的测试并将它们作为参数传递,因此在这种情况下,您最终将在testng.xml中进行六次测试

    `<suite name="Parallel test runs" parallel="tests" thread-count="2">

    <test name="T_01">
    <parameter name="browser" value="chrome"/>
   <parameter name="SCHOOL" value="name1"/>

        <classes>
            <class name="testNG.Parallel.Test01" ></class>
        </classes>
    </test>

    <test name="T_02">
    <parameter name="browsername" value="ff"/>
    <parameter name="SCHOOL" value="name1"/> 
       <classes>
            <class name="testNG.Parallel.Test01" ></class>
        </classes>
    </test>
     <test name="T_03">
    <parameter name="browser" value="chrome"/>
   <parameter name="SCHOOL" value="name2"/>

        <classes>
            <class name="testNG.Parallel.Test01" ></class>
        </classes>
    </test>

    <test name="T_04">
    <parameter name="browsername" value="ff"/>
    <parameter name="SCHOOL" value="name2"/> 
       <classes>
            <class name="testNG.Parallel.Test01" ></class>
        </classes>
    </test>
    </suite>`

否则你可以为学校提供3个@test方法,然后在testng.xml中创建2个测试并将浏览器作为参数传递。