1.简介
经过前边几篇知识点的介绍,今天宏哥就在实际测试中应用一下前边所学的依赖测试。这一篇主要介绍在TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题。如果不用dependsOnMethods,testNG会自动根据@Test方法名称的首字母排序来执行测试方法,而不是按照你设计的测试用例来执行方法。多的不说,少的不唠,我们开始今天讲解和分享。
2.测试场景
在这里宏哥给小伙伴们或者童鞋们模拟一个测试场景:打开百度首页,搜索selenium的相关内容,看到很多selenium的内容有java、python等各种语言。而我们需要精确到其中某一种语言相关的selenium知识点,比如java。
3.测试用例设计
①打开百度首页
②在查询输入框输入:selenium搜索
③输入selenium+java搜索
4.项目实战
4.1代码设计
根据测试用例设计测试脚本代码如下图所示:
4.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依赖测试-番外篇(详解教程) * * 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"}) public void testSearch2(){ driver.findElement(By.id("kw")).clear(); driver.findElement(By.id("kw")).sendKeys("Selenium+Java"); driver.findElement(By.id("su")).click(); } @AfterClass public void tearDown(){ driver.quit(); } }
4.3运行代码
1.运行代码,右键Run AS->TestNG Suite,控制台输出,如下图所示:
2.运行代码后电脑端的浏览器的动作,如下小视频所示:
5.小结
1.上面先后顺序是:1)打开百度 2)搜索selenium 3)搜索selenium+java,是按照宏哥设计的测试用例进行执行,而且顺序也正确;如果想看看不用依赖关系,注销依赖部分代码,执行一下,看看是不是按照字母顺序执行,而不是按照宏哥设计的测试用例执行的。
好了,今天时间也不是很早了,宏哥就讲解和分享到这里,感谢您耐心的阅读!
每天学习一点,今后必成大神-
往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问)或者微信搜索: 北京宏哥 公众号提前解锁更多干货。
Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试
Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南
Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架
Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架
Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程