用了工具做接口测试,但是对于加密数据和结果的比对,以及批量数据读取,回头还是觉得代码来更方便灵活,从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方法中调用,执行,并查看结果

接口测试HttpClient实践20150925的更多相关文章

  1. Atitit.http httpclient实践java c# .net php attilax总结

    Atitit.http httpclient实践java c# .net php attilax总结 1. Navtree>> net .http1 2. Httpclient理论1 2. ...

  2. Jenkins+ANT+Jmeter 接口测试的实践(转载)

    转载地址:https://testerhome.com/topics/5262 1.前言 最近感觉大家都在讲Jenkins+jmeter+ant或maven的使用,但没有说到具体怎么投入到项目使用,只 ...

  3. 接口测试——HttpClient工具的https请求、代理设置、请求头设置、获取状态码和响应头

    目录 https请求 代理设置 请求头设置 获取状态码 接收响应头 https请求 https协议(Secure Hypertext Transfer Protocol) : 安全超文本传输协议, H ...

  4. Web接口测试-HttpClient

    要实现Web接口测试的自动化有许多方式,比如利用Jmeter.Loadrunner等测试工具都能够实现接口的自动化测试,我们也可以利用一些开源的框架来实现接口的自动化测试,比如我们现在要说的这个Htt ...

  5. 对 Jenkins+ANT+Jmeter 接口测试的实践

    转载地址:https://testerhome.com/topics/5262 1.前言 最近感觉大家都在讲Jenkins+jmeter+ant或maven的使用,但没有说到具体怎么投入到项目使用,只 ...

  6. Jmeter接口测试案例实践(一)

    1.1. 接口介绍 本次测试的接口采用内网中的通讯录查询接口进行测试,接口参数如下: 1.2. 使用Jmeter进行接口测试 1.2.1. 打开Jmeter 下载好Jmeter后,双击bin目录下的j ...

  7. 接口测试——httpclient介绍与请求方式详解

    httpClient工具介绍 HTTP协议可能是现在lntemet上使用得最多.最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源.虽然在JDK的java.net包中已经 ...

  8. python接口测试-项目实践(八) 完成的接口类和执行脚本

    脱敏后脚本 projectapi.py: 项目接口类 # -*- coding:utf-8 -*- """ xx项目接口类 2018-11 dinghanhua &quo ...

  9. python接口测试-项目实践(七)脚本优化

    七 脚本优化:重复代码的提取成函数:与项目接口相关的都封装到一个类中:添加手工验证脚本,增加输入值的判断逻辑 将所有与该项目接口相关的封装成类 class ProjectApi: #3个数据源接口 d ...

随机推荐

  1. Randcher 2.0部署K8s集群(一)

    环境准备 1.系统版本 CentOS7.5 + docker ee 2.配置阿里云yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirro ...

  2. eclipse引入httpServlet源码

    eclipse引入httpServlet源码 展开Apache Tomcat v7.0[Apache Tomcat v7.0] -> servlet-api.jar 找到 -> http ...

  3. 数据结构顺序表Java实现

    Java实现顺序表算法:1:首先我们需要定义我们的接口,关于顺序表的一些基本的操作:顺序表中的操作都有增删改查. //List接口 public interface IList { //返回线性表的大 ...

  4. java之对象适配器

    对象的适配器模式 与类的适配器模式一样,对象的适配器模式把被适配的类的API转换成目标类的API,与类的适配器模式不同的是,对象的适配器模式不是使用继承关系连接到Adaptee类,而是使用委派关系连接 ...

  5. 使用 Laravel 数据填充功能生成中文测试数据

    今晚……不对,是昨晚,折腾一个的小项目,发现自动填充的中文数据显示起来总不太美观,于是开始琢磨如何填充中文数据进行测试. 然而一番搜索后惊奇的发现,官方.以及一些非官方的文档均未提及这一功能.期间看到 ...

  6. springcloud18---springCloudConfig

    package com.itmuch.cloud; import org.springframework.beans.factory.annotation.Value; import org.spri ...

  7. 20145204《Java程序设计》第10周学习总结

    网络编程 网络编程:在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大部分的程序设计 ...

  8. ESXi主机遗忘密码重置密码

    ESXi版本:6.0.0 VMware-VMvisor-Installer-6.0.0.update02-3620759.x86_64-Dell_Customized-A00.iso 使用和服务器系统 ...

  9. git am PATCH_FILE_NAME自动打patch失败后的操作方法

    1.找到打入patch不成功的patch 从打入patch的失败信息可以找到 2.根据patch的index重新打入 patch,将可以合并的内容合并,冲突的部分单独生成文件 比如出问题patch的i ...

  10. POJ 1159 Palindrome(最长公共子序列)

    http://poj.org/problem?id=1159 题意: 给出一个字符串,计算最少要插入多少个字符可以使得该串变为回文串. 思路: 计算出最长公共子序列,再用原长-LCS=所要添加的字符数 ...