httpclient + TestNG 接口自动测试 第六章

1.httpclient处理post提交xml格式数据请求

    public static void post(String HOST, String PATH, String reqXml) {

        // 创建httpClient实例
        CloseableHttpClient httpclient = HttpClients.createDefault();
        // 创建httppost
        HttpPost httppost = new HttpPost(getUrl(HOST, PATH));
        // 设置参数
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("param", reqXml));
        try {
            httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
            System.out.println(httppost.getURI());
            // 发送请求
            CloseableHttpResponse response = httpclient.execute(httppost);
            try {
                HttpEntity entity = response.getEntity();
                System.out.println(response.getStatusLine());
                if (entity != null) {
                    System.out
                            .println("--------------------------------------");
                    System.out.println("Response content: \r\n"
                            + EntityUtils.toString(entity, "UTF-8"));
                    System.out
                            .println("--------------------------------------");
                }
            } finally {
                response.close();
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            try {
                httpclient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    public static URI getUrl(String HOST, String PATH) {
        URI uri = null;
        try {
            uri = new URIBuilder().setScheme("http").setHost(HOST)
                    .setPath(PATH).build();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
        return uri;
    }

2.httpclient请求设置请求头

httpget.setHeader("channel_id", "1");
时间: 2024-10-01 07:25:17

httpclient + TestNG 接口自动测试 第六章的相关文章

httpclient + TestNG 接口自动测试 第三章

此后就是数据准备与逻辑实现,就不在赘述了 此次自动化脚本并未太多用到TestNG,仅仅用于他调试起来方便: 本章记录一些用到的辅助方法: 1.将返回值打印出来的get请求,用于测试或查看接口返回内容 public static void get(HashMap<String, String> params, String HOST, String PATH) { CloseableHttpClient httpclient = HttpClients.createDefault(); try

httpclient + TestNG 接口自动测试 第五章

1.实现对java配置文件properties的读取.写入与更新操作 package com.config; /** * 实现对Java配置文件Properties的读取.写入与更新操作 */ import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.F

httpclient + TestNG 接口自动测试 第四章

1.客户端向服务器传递参数中有的需要传递Json格式数据,现提供个HashMap转json格式数据方法 public static String hashjson(HashMap<String, String> map) { String string = "[{"; for (Iterator<Entry<String, String>> it = map.entrySet().iterator(); it.hasNext();) { Entry&

httpclient + TestNG 接口自动测试 第一章

自动化接口实现选择排期--->选择座位--->创建订单--->取消订单/出票流程: 影讯接口:城市列表.影院列表.影厅列表.座位列表.已售座位列表.排期列表: 订单接口:创建订单.查询订单.出票.取消订单: 逻辑上分四层实现: StartTest.java 开始执行测试 OrderScheme.java 订单流程  CityScheme.java 影讯流程 OrderInterface.java 构造订单接口参数 CityInterface.java 构造影讯接口参数 GetPost.j

httpclient + TestNG 接口自动测试 第二章

请求地址由参数加参数签名形式生成,例如: http://ip/server?method=getPlans&planDate=2014-08-25&cinemaId=101&uid=remote&enc=d0fe8420c641dd87d4165c09fe1d0c70&time_stamp=1408960607250 1.构建url 1)首先构建参数对 public static HashMap<String, String> cinemas() { H

HttpClient 4.3教程 第六章 HTTP缓存

HttpClient 4.3教程 第六章 HTTP缓存 Posted on 2013 年 10 月 28 日 6.1.基本概念 HttpClient的缓存机制提供一个与HTTP/1.1标准兼容的缓存层 – 相当于Java的浏览器缓存.HttpClient缓存机制的实现遵循责任链(Chain of Responsibility)设计原则,默认的HttpClient是没有缓存的,有缓存机制的HttpClient可以用来临时替代默认的HttpClient,如果开启了缓存,我们的请求结果就会从缓存中获取

接口自动化:HttpClient + TestNG + Java(二) - 第一个接口测试:get请求

在上一篇中,我们搭建好了HttpClient + TestNG + Java的自动化接口测试环境,这一篇我们就赶紧开始编写我们的第一个接口测试用例. 本篇会对问题解决的思路进行更详尽的阐述. 2.1 确定被测接口 首先一个现实的问题,我们要有一个待测接口来验证我们自动化方案的可行性. 我们可以选择在自己的本地去部署一套待测接口,当然也可以选择公网上的接口去进行测试,这里我们选择后者. 我选定的是apishop这个站点:https://www.apishop.net/ 这个站点提供非常多,种类齐全

JAVA: httpclient 详解——第六章;

httpclient 详解--第一章: httpclient 详解--第二章: httpclient 详解--第三章: httpclient 详解--第四章: httpclient 详解--第五章: httpclient 详解--第六章: httpclient 详解--第七章: 相对于httpurlconnection ,httpclient更加丰富,也更加强大,其中apache有两个项目都是httpclient,一个是commonts包下的,这个是通用的,更专业的是org.apache.htt

Java核心技术 第六章 接口和内部类

Java核心技术  第六章  接口与内部类 接口: 任何实现Comparable接口的类都需要包含compareTo方法,并且这个方法的参数必须是一个Object对象,返回一个整数数值. 在Java SE 5.0中,Comparable接口已经改进为泛型类型. 接口中所有的方法自动的属于public.因此,在接口中声明方法时,不必提供关键字public. 接口中决不能含有实例域,也不能在接口中实现方法. 要让一个类使用排序服务,必须让它实现compareTo方法,因此必须实现Comparable