本人是在使用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课时环境搭建
本文来自企鹅号 - 龙腾测试媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文来自企鹅号 - 龙腾测试媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。