基于httpclient和mysql的接口功能自动化测试框架

来源:互联网 发布:招聘php 编辑:程序博客网 时间:2024/05/22 16:02

最近一直在做httpclient接口测试,功能自动化的框架1.0算是初步完成,中间遇到了很多问题,学到了不少知识,基本思想是mysq结合testNG,在去用jekins集成。分享一下自己做的PPT。

简介:

1.语言:java
(1)基础语法 (2)基本数据类型 (3)java方法 (4)java继承和封装
教程地址:http://www.runoob.com/java/java-collections.html
2.工具httpclient:客户端编程工具包
主要功能:(1)实现了所有 HTTP 的方法(2)支持自动转向(3)支持 HTTPS 协议(4)支持代理服务器等
3.IDE:eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
教程地址:http://www.cnblogs.com/quickcodes/p/5399385.html

用例编写:


使用说明:


调试用例:

// 下面是验证单个用例的方法,括号里面是用例的case_id,获取相应结果并保存验证结果到数据库中
executeCaseAndOutputEntity(2);
//下面是结束时运行的方法(必须要有)
httpClient.close();


如果检查点的期望值没有读取到内容,则默认添加期望值为“..-.”。
如果第三个和第四个检查点为text和int,如果验证通过,期望值和实际值一样。
params只代表用例数据,并不代码接口传入参数。

接口管理:

使用不同的map集合来管理不同版本不同类型的api

public static Map<String, String> apiType = new HashMap<>();static {apiType.put("/shequ/post/create", POST);// 创建帖子接口apiType.put("/shequ/post/del", POST);// 帖子删除接口apiType.put("/shequ/post/reply", POST);// 回复帖子接口apiType.put("/star/starinfo", GET);// 明星详情接口}

执行代码:

@Testpublic void RunCases1() {executeAllCases(apiType1);}@Testpublic void RunCases2() {executeAllCases(apiType2);}@AfterClass // 所有用例执行完public void tearDown() {closeHttpClientAndOutputReport("D:\\");//报告生成地址}

测试结果:


Mark表示testNG表机制,testmark表示用例执行标记值,与result表中一致
Api_name表示接口名,格式与其他相同
Total表示运行用例总数
Fail表示失败总数
Failresult表示失败的结果集合
Fail_case表示失败的用例集合
Report_id和create_time自动添加值

测试报告:


未了,宣传一下自己的QQ群,起于UiAutomator不至于UiAutomator。


原创粉丝点击