用了工具做接口测试,但是对于加密数据和结果的比对,以及批量数据读取,回头还是觉得代码来更方便灵活,从excle中读取数据,构成参数,发请求,并获取返回结果和预期值比较,并将结果输出程报告,可以深入做成框架,用来还算是比较方便的,就研究了下httpclient,刚刚起步,还不是很熟练,以下是实战,不懂不要紧,先跟着练习几次,慢慢就理解了:

1、在eclipse中新建java工程,添加jar包

2、添加httpclient的jar包

3、编写代码,一般我会写两个一个是get请求的,一个是post请求的,我这里写了一个post,里面包含了将数据存取文件中,和加密解密的方法:

代码区:

/**
     * Post请求
     *
     * @param url
     * @throws IOException
     */
    public static void httpClientPostMethod(String url) throws IOException {
        // 1、创建 HttpClient 的实例
        CloseableHttpClient httpClient = HttpClients.createDefault();
        // post请求
        HttpPost httpPost = new HttpPost(url);
        // 设置请求参数
        File file = new File(
                "C:/001myWorkspace/001工作/01移动平台/02 测试文档/03 用例梳理/James用例/V0.3版本/加密版/转义后/");
        File[] tempList = file.listFiles();// 该方法返回的是文件数组
        for (int i = 0; i < tempList.length; i++) {
            // 循环这个数组
            if (tempList[i].isFile()) {
                // 根据需要取出文件
                InputStream is = null;
                CloseableHttpResponse response = null;
                try {
                    // param 为参数,并url编码
                    String param = GetDataFromText.getData(tempList[i]
                            .toString());
                    StringEntity entity0 = new StringEntity(param);
                    // 设置请求头信息
                    entity0.setContentType("application/json");
                    httpPost.setEntity(entity0);
                    // 发送请求
                    response = httpClient.execute(httpPost);
                    if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                        // 2、获取response的entity。
                        HttpEntity entity = response.getEntity();
                        // 3、获取到InputStream对象,并对内容进行处理
                        is = entity.getContent();
                        System.out.println(is);
                        // 返回的内容保存到文本
                        saveToFile("C:/001myWorkspace/tmp/", i + "test.xml", is);
                        // 获取结果,并解密
                        test.getResultFromTxt("C:/001myWorkspace/tmp/" + i
                                + "test.xml");
                    }
                } catch (ClientProtocolException e) {
                    e.printStackTrace();
                } finally {
                    if (is != null) {
                        is.close();
                    }
                    if (response != null) {
                        response.close();
                    }
                }
            }
        }

}

4、在main方法中调用,执行,并查看结果

最新文章

  1. Leetcode: Line Reflection
  2. [.NET] 使用Json.NET提供依赖注入功能(Dependence Injection)
  3. oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。
  4. Hibernate 所有缓存机制详解
  5. linux中的nm命令简介
  6. 如何为Eclipse安装Eclipse Marketplace插件
  7. 初识iOS9 iPad新特性SlideView和SplitView的适配
  8. 【C# 反射泛型】
  9. java第五课:方法
  10. 配置php的CAS客户端
  11. asp.net C#母版页和内容页事件排版载入顺序生命周期
  12. Yii PHP 框架分析(四)
  13. QL查询案例:取得分组 TOP-N
  14. C++ Primer第四版 15.9 再谈文本查询 程序实现
  15. iPhone safari中Document事件不触发的解决方案 [冒泡]
  16. Ubuntu操作系统下安装JDK、tomcat、mysql
  17. Java基础学习-Random类和Java数组
  18. letCode-1
  19. 【译】11. Java反射——动态代理
  20. GitHub入门与实践 读书笔记二:Git的导入

热门文章

  1. 【开发者笔记】MQTT python测试笔记
  2. 模块讲解----hashlib模块(加密)
  3. centos上yum安装nodeJS
  4. (转)JavaScriptSerializer,DataContractJsonSerializer解析JSON字符串功能小记
  5. Java String、StringBuffer、StringBuilder有什么区别
  6. springcloud18---springCloudConfig
  7. composer方式安装thinkphp5,安装smarty
  8. JavaWeb实现分页的四种方法
  9. CSS3:{*zoom:1;}作用
  10. Python3.x:定时获取页面数据存入数据库