一文15000字教你用Eclipse+TestNG搭建接口自动化测试框架(建议收藏)

2023-12-13 20:07:38

手把手教你用Eclipse+TestNG搭建接口自动化测试框架
话不多说,直接上~

一、环境安装
1、前提

安装好jdk

配置好Java环境变量

安装Eclips

这些网上都有,就不再详细介绍。

2、安装TestNG插件

在线安装由于网速原因,速度较慢。下面是离线安装方式。

(1)解压eclipse-testng离线包.zip

(2)将【eclipse-testng离线包/feature】中的文件夹org.testng.eclipse_6.8.6.20130607_0745复制到【MyEclipse安装目录/features】目录下

(3)将【eclipse-testng离线包/org.testng.eclipse_6.8.6.20130607_0745】文件夹复制到【MyEclipse安装目录/plugins】目录下

(4)重启MyEclipse,Windows - show view - TestNG

3、安装Ant

(1)解压apache-ant-1.9.6-bin.zip到任意目录下

(2)配置Ant环境变量,在Path变量末尾添加:/bin;

二、在Eclipse中创建Java工程
1、Eclipse -> File -> New -> Java Project,如下图,在弹窗中填入Project name,点击Finish,即可完成工程的创建。

2. 导入相关的jar包:

工程上右键 -> Build Path -> Configure Build Path...,如下图所示,打开Build Path配置窗口。

?导入已经安装的TestNG插件,如下图所示完成testNG的导入:

3. 从资源分享链接中下载lib.zip,解压开,按下图方式导入里面的jar包。导入的这些jar包会在程序中用到。

?

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:822269834

三、使用TestNG框架编写测试用例

1. 创建src文件夹,存放测试相关的代码,在工程上右键 -> New -> Folder,填入文件名字:src。

2. 按照数据与代码分离和公共方法提取的原则,我的代码结构如下划分:

3. 脚本编写顺序

3.1 全局配置文件(GlobalSettings.java)

存放一些工程全局的变量,比如baseUrl、timeout等;

3.2 Http协议实现(HttpClientHelper.java)

根据项目接口使用的协议,实现相关的请求。我们的项目有两种方式,一种是使用NameValuePair的方式封装请求参数,一种是使用JSONObject的方式封装请求参数,因此针对这两种方式都做了代码实现。

3.3 接口实现(GList_API.java)

以“创建G单”为例,实现该接口:

3.4 准备测试数据(TestData.java)

为接口准备测试数据。

3.5 测试数据参数化(GListDataProvider.java),返回的参数个数需要与testsuit中函数参数个数一致。

3.6 测试用例suit(GListCURD.java)

?

4. 测试用例调试与执行

按照步骤三写好了所有的用例,可以进行用例的调试与执行了。

4.1 测试用例脚本调试

在步骤三的测试用例suit GListCURD.java上右键,“Debug as”或“Run as” -> "TestNG Test",即可运行该脚本。

4.2 测试用例脚本执行

有两种方式可以运行该脚本,testNG或者ant。

使用testNG运行,操作如步骤4.1。

使用ant运行,需要创建xml,请参考资源库中的build.xml、smokeTest.xml。若需要生成testNG报告,还需要下载test-result.xsi文件。

4.3 美化后的运行结果report

?

希望对大家有帮助~

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

?

文章来源:https://blog.csdn.net/2201_76100073/article/details/134974985
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。