首页 > 解决方案 > 在同一 @Test 方法多次使用不同参数运行时出现问题

问题描述

我在运行 @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 类(我假设它正在获取关于字母顺序的参数)。

我怎样才能让我的@test 方法按照我想要的在同一个测试用例中使用两个差异参数运行两次,它只是具有不同输入的相同方法,所以我不想包含单独的方法/类。

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

标签: seleniumselenium-webdrivertestngtestng.xml

解决方案


我知道这里有限制,我们不能在单个测试中调用相同的方法两次,我创建了一种解决方法,将临时值存储在 Excel 表中并检索它们并创建相互依赖的测试组,知道这是一种不好的做法,但是帮不上忙!!。希望 testng 能解决这个限制


推荐阅读