httpclient接口测试完整用例

发表于:2018-6-12 17:18  作者:点点横点尘   来源:51Testing软件测试网采编

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试技术 用例设计 接口测试

  本人是在使用httpclient做接口测试的过程中,总结了一些方法,写了一个基本的测试框架。用例的管理和测试结果的保存都放在数据库中,今天算是基本完成和健全了用例的模版。分享出来供大家参考。
  [java] view plain copy
  public void case_shequ_topic_cattlist() {  
      String apiName = "shequ_topic_cattlist";  
      mark = getMark();// 获取时间戳作为测试标记  
      List<Map<String, String>> date = LocalMySql.getInstance().getCaseFromMySql(apiName);// 数据库读取用例  
      for (int i = 0; i < date.size(); i++) {// 遍历执行用例  
          int result = 0;  
          String expect_value1 = "", actual_value1 = "", expect_value2 = "", actual_value2 = "", params = "",  
                  actual_key1 = "", actual_key2 = "", actual_key3 = "", expect_value3 = "", actual_value3 = "";  
          Map<String, String> 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);//统计本次运行所有用例结果  
  }  
  获取响应的方法封装:
  [java] view plain copy
  public JSONObject shequ_topic_cattlist(Map<String, String> apiCase) {  
          String uri = host + "/shequ/topic/cattlist";  
          deleteMap(apiCase);  
          JSONObject jsonObject = new JSONObject(apiCase);  
          HttpGet httpGet = getHttpGet(uri, jsonObject);  
          JSONObject response = getHttpResponseEntityByJson(httpClient, httpGet);  
          return response;  
      }  
  模版做好了,其他的用例直接可以复用,就是改一下接口名和方法名的问题,看起来非常整齐。




上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

Python+Selenium大型电商项目(京东商城)实战直播,优惠名额抢占中>>

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2018, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道