1.简介
在实际测试过程中,我们经常会遇到这样的情况,开发由于某些原因导致一些模块进度延后,而你的自动化测试脚本已经提前完成,这样就会有部分模块测试,有部分模块不能进行测试。这就需要我们暂时不让一些test case执行。今天宏哥主要讲解的就是在工作中遇到这种情况如何处理,不影响你的测试进度。
2.方案
①代码注销不执行测试用例区域。
②去除不执行测试用例前面@Test注释,这样testNG运行就不会运行到这部分的代码。
③testNG提供了一个enabled的参数,可以设置布尔型,true表示执行该方法,false表示不执行该测试用例。
第一种和第二种方法很简单,这里宏哥就做赘述,这里主要讲解和分享第三种方法。
3.项目实战
为了节约时间,宏哥就不做新的测试场景,直接利用上一篇中测试百度搜索功能的代码,只要稍稍地改动一个地方就可以了。
3.1代码设计
3.2参考代码
package library;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
/**
* @author 北京-宏哥
*
* @公众号:北京宏哥
*
* 《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
*
* 2022年3月07日
*/
public class TestDepend {
WebDriver driver;
@BeforeClass
public void setup(){
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
}
@Test
public void openBaidu() throws InterruptedException{
driver.get("https://www.baidu.com");
Thread.sleep(2000);
System.out.println(driver.getTitle());
//assertTrue(driver.getTitle() == "百度一下,你就知道");
}
@Test(dependsOnMethods={"openBaidu"})
public void testSearch() throws InterruptedException{
driver.findElement(By.id("kw")).sendKeys("Selenium");
driver.findElement(By.id("su")).click();
Thread.sleep(1000);
}
@Test(dependsOnMethods={"testSearch"},enabled=false)
public void testSearch2() throws InterruptedException{
driver.findElement(By.id("kw")).clear();
driver.findElement(By.id("kw")).sendKeys("Selenium+Java");
driver.findElement(By.id("su")).click();
Thread.sleep(1000);
}
@AfterClass
public void tearDown() throws InterruptedException{
Thread.sleep(3000);
driver.quit();
}
}
3.3运行代码
1.运行代码,右键Run AS->TestNG Suite,控制台输出,如下图所示:
上面有三个测试用例,运行后可以看到报告显示执行了两个测试用例。
2.运行代码后电脑端的浏览器的动作,如下小视频所示:
4.小结
好了,今天时间也不是很早了,宏哥就讲解和分享到这里,感谢您耐心的阅读!
每天学习一点,今后必成大神-
往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):
Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试
Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南
Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架
Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架
Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程