Java 如何使用selenium多次运行同一类
有什么方法可以让我在Selenium中运行一个类3次或更多次吗。因此,它按以下顺序运行:Java 如何使用selenium多次运行同一类,java,selenium,automation,testng,pom.xml,Java,Selenium,Automation,Testng,Pom.xml,有什么方法可以让我在Selenium中运行一个类3次或更多次吗。因此,它按以下顺序运行: 方法1 方法2 方法3 方法1 方法2 方法3 方法1 方法2 方法3 据我所知,在TestNG中没有简单的方法可以做到这一点。注释参数invocationCount仅在方法级别有效,而不在类上有效,因此使用@Test(invocationCount=3)注释类不起作用 正如您提到的Selenium,我猜您正在尝试自动化网页上的一些重复操作。如果是这样的话,我认为从思想上讲,最好的办法是从这三个方法中提
- 方法1
- 方法2
- 方法3
- 方法1
- 方法2
- 方法3
- 方法1
- 方法2
- 方法3
据我所知,在TestNG中没有简单的方法可以做到这一点。注释参数
invocationCount
仅在方法级别有效,而不在类上有效,因此使用@Test(invocationCount=3)
注释类不起作用
正如您提到的Selenium,我猜您正在尝试自动化网页上的一些重复操作。如果是这样的话,我认为从思想上讲,最好的办法是从这三个方法中提取代码,然后编写另一个调用这些内部的测试,如下所示:
@Test(priority = 1)
public void method1() {
stuff1();
}
@Test(priority = 2)
public void method2() {
stuff2();
}
@Test(priority = 3)
public void method3() {
stuff3();
}
@Test
public void complexTest() {
for (int i = 0; i < 3; i++) {
stuff1();
stuff2();
stuff3();
}
}
private void stuff1() {
System.out.print("method1");
}
private void stuff2() {
System.out.print("method2");
}
private void stuff3() {
System.out.print("method3");
}
@测试(优先级=1)
公共无效方法1(){
填充1();
}
@测试(优先级=2)
公开作废方法2(){
第2条();
}
@测试(优先级=3)
公开作废方法3(){
第3条();
}
@试验
公共void complexTest(){
对于(int i=0;i<3;i++){
填充1();
第2条();
第3条();
}
}
私人文件1(){
系统输出打印(“方法1”);
}
私人文件2(){
系统输出打印(“方法2”);
}
私人文件3(){
系统输出打印(“方法3”);
}
将每个测试视为可能失败或通过的原子测试是一种很好的做法,如果您想测试执行特定操作集三次的某个场景,最好为此引入新的测试,并使其清晰明确地“讲述一个故事”测试。我的场景类似于第一个:创建第二个:编辑第三个:批准这将给我一组数据,在另一个类中,我必须使用这些数据进行拖放,我需要至少2组数据。所有数据的状态都已批准,只有我需要拖动。因此,为此,我必须通过多次执行同一类来创建两组数据。我尝试了您的解决方案,但它不起作用,因为执行第一次后,浏览器未关闭,并且没有发现此类元素引发异常。
@Test(priority = 1)
public void method1() {
stuff1();
}
@Test(priority = 2)
public void method2() {
stuff2();
}
@Test(priority = 3)
public void method3() {
stuff3();
}
@Test
public void complexTest() {
for (int i = 0; i < 3; i++) {
stuff1();
stuff2();
stuff3();
}
}
private void stuff1() {
System.out.print("method1");
}
private void stuff2() {
System.out.print("method2");
}
private void stuff3() {
System.out.print("method3");
}