news 2026/3/23 22:24:44

接口自动化/UI自动化/单元测试详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
接口自动化/UI自动化/单元测试详解

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

自动化测试

自动化测试是指将人为的软件测试转换成自动化,让机器(也就是代码)来进行自动测试。自动化测试包括UI自动化,接口自动化,单元测试自动化。

  • 单元测试:即对项目或者业务中的一段代码进行单元测试,一般以一个类为一个单元进行测试,Java 中的单元测试框架是 Junit,测试方法必须使用 @Test 修饰;
  • 接口测试:即 API 测试,常见的接口自动化测试工具有 JMeter,Postman 等;
  • UI 测试:即对一些界面进行测试,测试框架有 Windows客户端测试的 AutoIT,web测试的 Selenium 以及TestPlant, eggPlant,Robot framework,QTP等。

单元测试

Java 单元测试一般在 IDEA 中使用 Junit 框架进行测试,目的是为了验证一个类中的方法是否符合预期,代码编写是否正确。在这里介绍 SpringBoot 整合 Junit5 的单元测试,例如当我们需要测试一个类中的方法是否正确时,需要在 test 目录中创建 测试类:

​快捷创建测试类:
通过 Alt + Insert ,选择 Test 创建测试类:

​在测试类中,对于项目/业务中类的方法进行测试时,都需要使用 @Test 注解进行修饰,如下:

Junit 一些注意事项:

常用注解(Junit5):

  1. @Test:将一个普通方法修饰成一个测试方法;
  2. @BeforeEach:会在每一个测试方法被运行前执行一次(有几个测试就执行几次);
  3. @AfterEach:会在每一个测试方法运行后被执行一次(有几个测试就执行几次);
  4. @BeforeAll:表示在所有单元测试之前执行(无论有几个测试都只执行一次);
  5. @AfterAll:表示在所有单元测试之后执行(无论有几个测试都只执行一次);
  6. @Timeout: 表示测试方法如果超过了指定时间将会返回错误。

接口测试

在这里简单介绍如何使用 Postman 进行接口测试(例如测试腾讯视频中的接口)

  1. 先找到接口
    打开页面,按下F12,点击NetWork,再点击Fetch/XHR,刷新一下接口就会显示出来,如下
  2. 将接口导入到 Postman 中
    找到一个接口,右键进行复制,复制框里面4个其中的任意一个都可以
    打开 Postman

    没有什么报错的话就导入成功了(若出现报错可以试试复制其它几个),如下:
  3. 进行测试
    测试点:
    • http 的请求方式 :get,post,delete 等等;
    • 参数测试:传递所有参数,传递部分参数,不传递参数,传递其它参数等;

UI 测试

对于UI 自动化测试,本文主要讲如何使用 Selenium 框架对 Web UI 进行自动化测试。

什么是 Selenium

Selenium是web应用中基于UI的自动化测试框架,支持多平台、多浏览器、多语言
本文将基于 Selenium + Java 开展对自动化测试的学习。
原理:

搭建环境

从原理图中看出,既然要通过自动化代码操控浏览器就需要一个"媒介",那么首先就需要下载这样的一个媒介,来通过媒介操控浏览器。

在这里我使用的是 Chrome 浏览器(推荐使用),就需要下载一个 Chrome 浏览器的 webdriver 浏览器驱动,在下载的过程中需要注意浏览器的版本号与驱动的版本号相对应。

webdriver 浏览器驱动下载

​上图就是驱动的版本,找到与你的 Chrome 浏览器相对应的版本即可,例如你的浏览器版本是 114.0… 就可以下载以 114.0 开头的驱动。若此页面没有与你浏览器对应的版本号,可以点击可用性信息中心,如下:

​点击之后的界面如下图:

​然后找到相对应的版本下载:

​下载完成后解压即可:

配置驱动

分为两种,根据实际情况进行配置:
第一种:Java 环境变量已经配置
那么只需要将chromeddriver.exe放到你的配置的 Java JDk bin 目录下即可。
例如:

第二种:没有配置 Java 环境变量
则需要针对刚才下载好的驱动进行配置

  1. 先将chromeddriver.exe应用程序放到谷歌浏览器所在的目录中;
  2. 复制谷歌浏览器的路径,将该路径配置到环境变量中;

自动化测试化项目创建

首先通过 IDEA 创建一个 Maven 项目,在创建好的 Maven 项目pom.xml里面配置 Selenium 依赖:

<dependencies> <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency> </dependencies>

​然后就只需要正常编写测试代码即可。例如:通过 Selenium 框架打开 Chrome 浏览器进入百度搜索页面,并在输入框中输入指定内容进行搜索

private static void test2() throws InterruptedException { // 创建驱动 WebDriver webDriver = new ChromeDriver(); // 打开百度 webDriver.get("https://www.baidu.com"); // 通过 css 选择器找到百度输入框 WebElement element = webDriver.findElement(By.cssSelector("#kw")); // 在百度搜索框输入内容 element.sendKeys("江边鸟"); // 通过 css 选择器找到搜索按钮 并点击搜索 sleep(3000); webDriver.findElement(By.cssSelector("#su")).click(); //webDriver.findElement(By.cssSelector("#su")).submit(); // 在输入框中清除 江边鸟 sleep(3000); webDriver.findElement(By.cssSelector("#kw")).clear(); }

当执行上述代码后:

程序就会将 Chrome 浏览器自动打开,并在百度搜索引擎当中输入 “江边鸟”,然后进行搜索,最后在将输入框中的内容进行清除

​上述代码都是 Selenium 框架中的 API ,专门针对 webUI 进行自动化测试,只需要编写自动化代码,剩下的交给程序。对于 Selenium 框架的更多 API 详解,请参考后面的文章。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 10:50:39

基于PLC的洗衣机内筒片自动下料装置

基于PLC的洗衣机内筒片自动下料装置设计 第一章 绪论 洗衣机内筒片作为洗衣机核心零部件&#xff0c;其生产下料环节的自动化程度直接决定零部件加工效率与精度。传统内筒片下料多采用人工上料、机械单次裁切模式&#xff0c;存在下料效率低、定位偏差大、人工操作安全风险高、…

作者头像 李华
网站建设 2026/3/13 12:34:17

拖延症福音 10个AI论文平台深度测评:继续教育毕业论文+格式规范全攻略

在当前学术研究日益数字化的背景下&#xff0c;论文写作已成为高校师生、研究人员及继续教育学员面临的核心任务之一。然而&#xff0c;从选题构思到文献检索、内容撰写再到格式规范&#xff0c;整个流程中存在诸多效率瓶颈与技术难点。尤其对于时间紧张、资源有限的继续教育群…

作者头像 李华
网站建设 2026/3/17 9:00:52

雷诺与法国国家橄榄球队,在紧张激烈的体育影片中庆祝愿景

雷诺与法国国家橄榄球队合作六年&#xff0c;双方在一部紧张激烈的体育影片中共同庆祝彼此的愿景。因为在橄榄球运动中&#xff0c;正如雷诺的愿景一样&#xff0c;必须回顾过去才能展望未来。橄榄球是唯一一项必须通过向后传球来推进并取得优势的运动。这一独特之处正是这项运…

作者头像 李华
网站建设 2026/3/15 10:06:30

还得是腾讯,Claude Code迎来最强中国对手!企业Agent有救了~

大家好&#xff0c;我是最近天天折腾CLI Agent的袋鼠帝。 一周前&#xff0c;我给大家安利了一款Claude Code的最强开源对手&#xff1a;OpenCode&#xff0c;没想到文章发出去后反响这么热烈&#xff0c;不管是阅读量还是评论都非常多。 这也再次印证了&#xff0c;天下苦Ant…

作者头像 李华