接口测试HttpClient实践20150925

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

时间: 2024-10-06 20:09:45

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

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

转自:https://www.cnblogs.com/hong-fithing/p/7617855.html https请求 https协议(Secure Hypertext Transfer Protocol) : 安全超文本传输协议, HTTPS以保密为目标研发, 简单讲HTTPS协议是由SSL+HTTP协议构建的可进行加密传输. 身份认证的网络协议, 其安全基础是SSL协议, 因此加密的详细内容请看SSL. 全称Hypertext Transfer Protocol overSecure

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

1. Navtree>> net .http1 2. Httpclient理论1 2.1. 自动url转向的控制1 3. Java里面的httpclient1 4. C# .net的httpclient2 4.1.1. .NET 4.5(C#):2 4.2. 对COOKIE和SEIION支持区别3 4.3. 用户对是否自动url转向的控制3 4.4. 对用户代理服务器的支持3 5. Php的httpclient3 6. Node.js4 7. solu解决问题::4 8. ref参考资料4 8

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

1.1. 接口介绍 本次测试的接口采用内网中的通讯录查询接口进行测试,接口参数如下: 1.2. 使用Jmeter进行接口测试 1.2.1. 打开Jmeter 下载好Jmeter后,双击bin目录下的jmeter.bat文件: 1.2.2. 添加线程组 在“测试计划”上鼠标右键添加-->threads(Users)-->线程组,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数” 1.2.3. 添加Http请求默认值 组件,在上步的线程组上右键添加--&g

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

httpClient工具介绍 HTTP协议可能是现在lntemet上使用得最多.最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源.虽然在JDK的java.net包中已经提供了访问http协议的基木功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活.HttpClient是ApaChe.JakamComnmn下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP协议的客户端编程工具包,并且它支持HTTP办议最新的版术和建议. httpCli

python接口测试-项目实践(八)

脱敏后脚本 projectapi.py: 项目接口类 # -*- coding:utf-8 -*- """ xx项目接口类 2018-11 dinghanhua """ import requests import re import pymssql #region 工具类函数 def findinfo_from_apiquerystockdetailinfo(str1,str2): """ 从str1中找第一个&q

接口测试脚本实践记录(二)

一 分别请求3个接口,获取响应. 第三方接口返回有两种:1 纯字符串  2 带bom头的json字串 import requests api1 = 'url1' response1 = requests.get(api1) result1 = response1.content.decode('utf-8-sig') #带BOM头的响应 api2 = 'url2' response2 = requests.get(api2) result2 = response2.content.decode(

接口测试脚本实践记录(六)

六 与数据库对比 import pymssql def compare_expected_vs_db(): diff_list = [] # 存储不一致的代码 with pymssql.connect(server='192.168.1.1', user='test', password='123456',database='db') as myconnect: with myconnect.cursor(as_dict=True) as cursor: cursor.execute("SELE

接口测试脚本实践记录(五)

五 与开发接口对比 1 分别将三个接口封装成三个函数,传入接口参数,返回提取并处理后的各字段. 拼接字符串作为单独的函数. def api_1(code): 发送请求获取响应 提取响应数据 响应数据转换 将所取字段和值以字典形式保存到result_dict返回 def result_of_3api(code): result1 = api_1(code) #请求三个接口 result2 = api_2(code) result3 = api_3(code) result = 字符串拼接 retu

接口测试基础与工具

接口测试基础与工具 2016-09-12 接口测试是集成测试实现的一种方式,分为: 消息接口测试 代码接口测试两类 本章主要还是针对消息接口为主的. 1 接口测试基础 1.1 什么是接口测试 接口是指系统模块与模块或系统与系统间进行交互,一般现在我们用的多的是基于HTTP协议为基础的接口(包括WebService协议或者Tuxedo协议),除此之外还有RPC的接口,但不管是哪种接口,其本质就是发送一个Request报文给服务器,然后服务器响应返回一个Response报文. 我们对Response