《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)

简介: 【6月更文挑战第21天】本文介绍了TestNG中测试方法的依赖执行顺序。作者通过一个实际的自动化测试场景展示了如何设计测试用例:依次打开百度、搜索“selenium”、再搜索“selenium+java”。代码示例中,`@Test`注解的`dependsOnMethods`属性用于指定方法间的依赖,确保执行顺序。如果不设置依赖,TestNG会按方法名首字母排序执行。通过运行代码,验证了依赖关系的正确性。

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年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程




相关文章
|
1天前
|
敏捷开发 监控 测试技术
自动化测试框架的演进与实践
【7月更文挑战第19天】随着软件开发行业的飞速发展,自动化测试已成为确保软件质量的重要手段。本文将探讨自动化测试框架的发展历程,从早期的线性脚本到现代的模块化框架,以及它们如何适应敏捷开发和持续集成的需求。同时,我们还将深入分析几种流行的自动化测试工具,并讨论如何在实际项目中有效实施自动化测试策略。
|
3天前
|
测试技术 API Android开发
《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
13 2
|
4天前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
16 3
|
XML JSON 前端开发
阿里云JAVA高级测试试题及答案(十二)
阿里云JAVA高级测试试题及答案
218 0
阿里云JAVA高级测试试题及答案(十一)
阿里云JAVA高级测试试题及答案
197 0
|
XML 缓存 druid
阿里云JAVA高级测试试题及答案(十)
阿里云JAVA高级测试试题及答案
221 0
|
XML 缓存 前端开发
阿里云JAVA高级测试试题及答案(九)
阿里云JAVA高级测试试题及答案
133 0
|
XML 前端开发 JavaScript
阿里云JAVA高级测试试题及答案(八)
阿里云JAVA高级测试试题及答案(八)
273 0
|
缓存 算法 前端开发
阿里云JAVA高级测试试题及答案(七)
阿里云JAVA高级测试试题及答案(七)
167 0
|
XML 存储 前端开发
阿里云JAVA高级测试试题及答案(六)
阿里云JAVA高级测试试题及答案(六)
173 0

热门文章

最新文章