httpclient接口测试完整用例

本人是在使用httpclient做接口测试的过程中,总结了一些方法,写了一个基本的测试框架。用例的管理和测试结果的保存都放在数据库中,今天算是基本完成和健全了用例的模版。分享出来供大家参考。

publicvoidcase_shequ_topic_cattlist() {

String apiName ="shequ_topic_cattlist";

mark = getMark();// 获取时间戳作为测试标记

List date = LocalMySql.getInstance().getCaseFromMySql(apiName);// 数据库读取用例

for(inti =; i < date.size(); i++) {// 遍历执行用例

intresult =;

String expect_value1 ="", actual_value1 ="", expect_value2 ="", actual_value2 ="", params ="",

actual_key1 ="", actual_key2 ="", actual_key3 ="", expect_value3 ="", actual_value3 ="";

Map use = date.get(i);// 获取单个用例

String case_id = use.get("case_id");

/*

* 获取检查点的key和expect_value 如果有1个检查点就写一个,兼容多个 getresult方法兼容验证点不存在情况

*/

expect_value1 = use.get("verify_value1");// 获取验证点期望值

expect_value2 = use.get("verify_value2");// 获取验证点期望值

expect_value3 = use.get("verify_value3");// 获取验证点期望值

actual_key1 = use.get("verify_key1");//获取检查点key

actual_key2 = use.get("verify_key2");//获取检查点key

actual_key3 = use.get("verify_key3");//获取检查点key

params = use.toString();// 记录传入参数

JSONObject response = shequ_topic_cattlist(use);// 获取相应结果

actual_value1 = getDateValue(response, actual_key1);//获取验证点实际值

actual_value2 = getDateValue(response, actual_key2);//获取验证点实际值

actual_value3 = getDateContains(response, actual_key3, expect_value3);//获取验证点实际值,此为包含验证

result = getResult(expect_value1, actual_value1, expect_value2, actual_value2) ?1:2;// 获取测试结果,1为通过,2为失败

LocalMySql.getInstance().saveApiTestResult(case_id, mark, result, apiName, expect_value1, actual_value1,

expect_value2, actual_value2, expect_value3, actual_value3, params);// 写入数据库

}

LocalMySql.getInstance().addApiTestResult(apiName, mark, test_mark);//统计本次运行所有用例结果

}

获取响应的方法封装:

publicJSONObject shequ_topic_cattlist(Map apiCase) {

String uri = host +"/shequ/topic/cattlist";

deleteMap(apiCase);

JSONObject jsonObject =newJSONObject(apiCase);

HttpGet httpGet = getHttpGet(uri, jsonObject);

JSONObject response = getHttpResponseEntityByJson(httpClient, httpGet);

returnresponse;

}

模版做好了,其他的用例直接可以复用,就是改一下接口名和方法名的问题,看起来非常整齐。

-----------------------------END---------------------------------

软件测试行业的现状:无论公司用不用自动化和性能,面试都会要求你会,所以不努力你还能走多远?

龙腾岁末给力课程揭榜了~

1、零基础学Python

周期:21课时+

上榜理由:便宜便宜还是便宜

收费详情:仅需200元押金,报自动化班的学员免费赠送

2、Python自动化测试班

周期:84课时+

上榜理由:分层自动化内容实用,接地气,不走理论派,

收费详情:网络班4000,实体班5000,推荐好友还可以更便宜

附赠大礼包:预定Python自动化班,赠送21课时Python基础课程

3、Python测试开发班

周期:112课时+

上榜理由:4个大项目实战,公司要什么我们讲什么,折扣力度大

收费详情:原价8500/9750的课程,折后仅需6800/7800

附赠大礼包:预定Python测试开发班,赠送21课时Python基础+21课时环境搭建

本文来自企鹅号 - 龙腾测试媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

Python实现爬取知乎神回复

这篇文章主要介绍了Python实现爬取知乎神回复简单爬虫代码分享,本文实现了爬取知乎的“如何正确地吐槽”收藏夹,是对个人的一个兴趣实现,需要的朋友可以参考下。 ...

36050
来自专栏信安之路

我是如何通关信安之路巅峰挑战赛的

我滴个天啊。。。。。弱密码随意登陆。。。。。不好意思,这题我真是非预期解法,具体的预期解法,之前信安之路文章已发,就不仔细讲述啦!

24860
来自专栏安恒信息

Hacking Team移动智能设备入侵途径—WAP PUSH

0x00 概览 Hacking Team的RCS针对的系统平台覆盖面广、泄漏的源码模块众多。安恒安全研究团队发现其中的vector-rmi-master.zi...

32670
来自专栏架构师之路

1分钟实现“延迟消息”功能

一、缘起 很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。 例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。 一般来说怎...

56360
来自专栏跟着阿笨一起玩NET

DataTable.AcceptChanges & DataAdapter.Update

The AcceptChanges method makes rows status to Unchanged, then the DataAdapter.Up...

7610
来自专栏波涛汹涌

在阴影中:Vawtrak(银行木马病毒)意图通过添加新的数据源使得自己更加隐蔽

在Dridex木马活动短暂停止的同时,这个恶意软件背后的犯罪人员立马去寻找(开发)新的交付渠道(攻击方法,钓鱼方式),这看起来像是其他的恶意软件供应商将自己定位...

17730
来自专栏逸鹏说道

[开源,学习,分享]UWP第三方简书客户端分享

简介 Windows10正式版发布到现在,我利用零零碎碎的一些时间对UWP进行一些学习,也基于这门技术开发了一个第三方的简书App. 基本界面 优酷视频: ht...

30350
来自专栏跟着阿笨一起玩NET

asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 提供程序"

 笔者在项目中做做了一个从Excel表格中导入数据的模块、大体上asp.net项目中导入Excel大体分成三类:

82610
来自专栏Aloys的开发之路

Python第三方常用工具、库、框架等

       Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显...

517100
来自专栏视频咖

如何写出一手好的小程序代码,从架构说起

? 作为微信小程序底层 API 维护者之一,经历了风风雨雨、各种各样的吐槽。为了让大家能更好的写一手小程序,特地梳理一篇文章介绍。如果有什么吐槽的地方,欢迎去...

61320

扫码关注云+社区

领取腾讯云代金券