我正在创建一个Selenium框架,它将POM结构与TestNG结合使用。我使用@DataProvider
注释将值传递给@Test
。
我的问题是,如果需要在稍后@Test
方法中使用一个@Test
方法的输出,那么我将如何做到这一点,因为使用数据提供程序我只能传递它包含的值。
答案 0 :(得分:0)
OP没有提到语言或需要并行执行,因此可以使用静态变量轻松解决这个问题。在Java中,下面应该打印pass:
public static int outputOfMethodA=0;
@Test
methodA(){
outputOfMethodA=outputOfMethodA+1;
}
@Test
methodB(){
if(outputOfMethodA=1){
System.out.println("pass!");
}
else{system.out.println("fail!")
}
}
答案 1 :(得分:-1)
POM他的意思是他的WebElements的页面对象模型类型的映射。
松散地耦合测试方法总是一个好习惯(因此一个@Test的结果不应该依赖于另一个@Test)。
如果你想实现它:@DataProvider可用于你的Test Class中的任何数量的@Test方法。只需定义一个类级别Map并在测试中使用它。
样品:
A > git checkout -b C
C > git rebase B