多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Java+TestNG+Maven+Jenkins实现接口自动化测试全教程

更新时间:2022-08-16 09:33:39 作者:多测师 浏览:32

  随着移动互联网的逐渐普及,越来越多的人在手机中安装和使用APP,APP的用户体验对于其厂商来说就显得尤为重要。有个常识大家肯定知道:APP一般是通过HTTP/HTTPS协议的接口来获取所需的数据和相应的业务逻辑,所以接口测试的重要性越来越凸显。

Java+TestNG+Maven+Jenkins实现接口自动化测试全教程

  由于当前市场竞争的加剧,很多APP发版周期变得越来越短,3-4天就发一次版也很平常了。这种情况下,自动化测试就体现出其价值和优势来了。相比手工测试,自动化测试快速高效,测试结果可靠可信,不会因不同人员测试而给出不同的测试结果。

  说起自动化测试,可能很多人首先想到的就是模拟人工测试的GUI自动化测试。但总结本人近些年的测试实践,个人认为接口自动化测试比GUI自动化测试有更大的意义和重要性。

  相比GUI自动化测试,接口自动化测试主要有以下三个优势:

  1.构建成本低:只需要根据给出的参数,执行后判断是否与预期结果一致即可;而GUI自动化测试则需要安装和配置好较为复杂的测试环境,其学习成本和学习曲线也更高;

  2.稳定性高:接口测试针对的是API,没有图形界面,不会受到图形界面中元素变化因素的困扰,所以测试脚本相对比较稳定;而GUI自动化测试针对的是图形界面,而这部分变化是较频繁的,这也意味着对应的GUI自动化测试脚本经常需要修改以适应新的图形界面;另外,GUI自动化测试技术本身就比接口自动化技术更为复杂,GUI自动化测试过程中可能会经常出现一些莫名其妙的错误,其实这也很容易理解,接口测试毕竟属于相对底层的测试,复杂性较低,当然出错的概率也低了。

  3.速度快:执行一个接口自动化用例脚本可能不用一秒钟,但执行一个GUI自动化用例脚本至少需要5秒以上,当用例数量增加时,这种差别将非常明显。

  所以多开展接口测试,并且结合现在广为使用的持续集成工具Jenkins实现接口测试的全过程自动化无疑是一个值得探索和尝试的自动化测试实践。

  HttpClient和TestNG简介

  因为本人更熟悉和偏爱Java,所以选用了Java语言作为接口用例脚本编写的语言。虽然现在很多人使用Python语言编写自动化测试脚本,但个人觉得Python语言不如Java语言严谨(Python是弱类型,Java是强类型),出现变量类型错误不容易被发现,当代码量较大时(大于1000行以上),使用Java无疑效率更高(呵呵,欢迎反对的同学来喷)。

  因为选择了Java,所以采用了Apache的开源框架HttpClient作为接口调用的底层框架。

  HTTP 协议是现在 Internet 上使用得最多、最重要的协议了,越来越多的 软件需要通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

  HttpClient和浏览器有点像,但却不是浏览器。它是一个HTTP通信库,因此它只提供一个通用浏览器应用程序所期望的功能子集,最根本的区别是HttpClient中没有用户界面。HttpClient只能以编程的方式传输和接受HTTP消息。

  HttpClient的主要功能:

  1.实现了所有 HTTP 的方法(GET、POST、PUT、HEAD、DELETE、HEAD、OPTIONS、CONNECT和PATCH);

  2.支持 HTTPS 协议;

  3.支持代理服务器(Nginx等);

  4.支持自动(跳转)转向.

  在测试框架的选择上,果断选择了TestNG,虽然本人JUnit也用过,但确实TestNG的功能比JUnit强大许多。为哈?因为TestNG就是在JUnit的基础上发展起来的啊。

  在Eclipse中新建一个Maven项目

  1.必备工具安装

  1.1 JDK:使用Java编程,JDK必须安装和配置好。建议下载和安装JDK 1.8, 网上有很多相关资料和教程,这里略过。

  1.2 Eclipse:进行Java编程的IDE(集成开发环境),能大幅度提高工作效率。建议安装最新版本(最新版本应该已经包含了Maven插件,无需在Eclipse中再安装和配置Maven插件)。网上有很多相关资料和教程,这里略过。

  1.3 Maven:可自动下载Java项目相关的Jar文件,自动打包测试等,是Java编程人员必备神器。建议安装最新版本,网上有很多相关资料和教程,这里略过。

  2.在Eclipse中新建一个Maven项目

  双击Eclipse图标,然后新建一个Maven项目。

  以上内容为大家介绍了Java+TestNG+Maven+Jenkins实现接口自动化测试全教程,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部