您的位置:首页 > 理论基础 > 计算机网络

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

2017-10-16 09:49 1076 查看
最近一直在做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);// 明星详情接口
}


执行代码:

@Test
public void RunCases1() {
executeAllCases(apiType1);
}
@Test
public 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。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息