在同一<test>

时间:2018-12-25 05:56:37

标签: selenium selenium-webdriver testng testng.xml

我在运行@ Test时遇到问题,因为我希望在一次测试中多次。基本上,我的框架经过设计,因此我在不同的类中有一定数量的@Test方法,并且为了在xml文件中创建基本测试用例而调用它们。但是当我尝试调用相同的@Test方法时,它没有按照我想要的顺序运行,并且只运行一次

例如:我有两个班级

 class A{
     @Test ({parameter blah })
     public void foo(){}
 }

  class B{
    @Test ({parameter bloo})
    public void doo(){}
  }

我想通过以下方式调用xml:-

    <test> demotest
    <class name="A"><parameter name="blah" value="somevalue"</class>
    <class name="B"><parameter name="bloo" value="xyzvalue"</class>
    <class name="A"><parameter name="blah" value="somethervalue"</class>
     </test>

我想要输出-

   somevalue
   xyzvalue
   someothervalue

但是它仅以某个其他值运行一次A类(我假设它采用相对于字母顺序的参数)。

我如何才能按照我希望在同一测试用例中使用两个diff参数两次运行@test方法,这只是具有不同输入的相同方法,所以我不想包含单独的方法/类。

让我知道是否需要更多信息

2 个答案:

答案 0 :(得分:0)

使用保留顺序,然后测试将按照指定的顺序运行。

  <test name="Test" preserve-order="true">

也不能在同一测试中运行两次相同的类。

答案 1 :(得分:0)

我知道这里有局限性,我们不能在单个测试中两次调用相同的方法,我创建了一种解决方法,将临时值存储在excel工作表中,然后检索它们并创建相互依赖的测试组,知道它是坏习惯,但不能帮助!希望testng对这个限制有所帮助