TestNG - 从testNG xml多次运行相同的测试方法

时间:2015-09-13 15:51:48

标签: selenium testng

考虑我正在测试索赔系统的情况。我想提交报价并查看总账单。一天中两件或两件以上的索赔应该可以获得奖金。所以我需要在1次索赔之后检查总金额,在2次索赔之后再次检查,然后在删除索赔之后再次检查等等。执行将如下 -

  1. 登录
  2. 添加1件声明
  3. 计算应收总金额
  4. 再添加1个声明
  5. 计算应收总金额
  6. 删除声明
  7. 计算应收总金额
  8. 注销
  9. 我的TestNG.xml看起来像这样 -

    <test>
        <classes>
            <class name="Quotes">
                <methods>
                    <include name="fLogin" />
                    <include name="fAddQuotes" />
                    <include name="fCheckTotal" />
                    <include name="fAddQuotes" />
                    <include name="fCheckTotal" />
                    <include name="fRemoveQuotes" />
                    <include name="fCheckTotal" />
                    <include name="fLogout" />
                </methods>
            </class>
        </classes>
    </test>
    

    如上所述,功能&#f; fCheckTotal&#39;需要在同一个测试中多次调用。我希望能够在两者之间推送可变数量的添加/删除功能。

    但是testNG只执行重复方法的第一次出现(fAddQuotes,fCheckTotal)。

    有效地,xml正在这样做 -

    1. 登录
    2. 添加1件声明
    3. 计算应收总金额
    4. 删除声明
    5. 注销
    6. 我如何解决/解决这个问题?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我找到了解决方法。 像下面一样修改你的excel。所以每个班级都作为考试运行。这对我有用

&#13;
&#13;
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" verbose="1">
  <test name="Test">
      <classes>
       <class name="com.DemoOne"/>
       </classes>
   </test> <!-- Test -->
   <test name="Test1">
      <classes>
        <class name="com.DemoTwo"/>
       </classes>
  </test> <!-- Test -->
  <test name="Test2">
       <classes>
        <class name="com.DemoOne"/>
       </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您使用的是TestNG,则需要使用invocationCount:

@Test(invocationCount=4)

注意:4是您要运行方法的次数。