分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

测试框架httpclent 4.HttpClient Post方法实现

发布时间:2023-09-06 02:15责任编辑:熊小新关键词:http

startupWithCookies.json

[ ?{ ???"description":"这是一个会返回cookies信息的get请求", ???"request":{ ?????"uri":"/getCookies", ?????"method":"get" ???}, ???"response":{ ?????"cookies":{ ???????"login":"true" ?????}, ?????"text":"恭喜获得cookies信息成功" ???} ?}, ?{ ???"description":"这是一个带cookies的请求", ???"request":{ ?????"uri":"/get/with/cookies", ?????"method":"get", ?????"cookies":{ ???????"login":"true" ?????} ???}, ???"response":{ ?????"text":"这是一个需要携带cookies信息才能访问的get请求" ???} ?}, ?{ ???"description":"这是一个带cookies的post请求", ???"request":{ ?????"uri":"/post/with/cookies", ?????"method":"post", ?????"cookies":{ ???????"login":"true" ?????}, ?????"json":{ ???????"name":"huhanshan", ???????"age":"18" ?????} ???}, ???"response":{ ?????"status":200, ?????"json":{ ???????"huhanshan":"success", ???????"status":"1" ?????} ???} ?}]

新建一个 MyCookiesForPost.java 类

package com.course.httpclient.cookies;import org.apache.http.HttpResponse;import org.apache.http.client.CookieStore;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.cookie.Cookie;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;import org.json.JSONObject;import org.testng.Assert;import org.testng.annotations.BeforeTest;import org.testng.annotations.Test;import java.io.IOException;import java.util.List;import java.util.Locale;import java.util.ResourceBundle;public class MyCookiesForPost { ???private String url; ???private ResourceBundle bundle; ???//用来存储cookies信息的变量 ???private CookieStore store; ???@BeforeTest ???public void beforeTest(){ ???????bundle = ResourceBundle.getBundle("application",Locale.CHINA); ???????url = bundle.getString("test.url"); ???} ???@Test ???public void testGetGookies() throws IOException { ???????String result; ???????String uri = bundle.getString("getCookies.uri"); ???????HttpGet get = new HttpGet(this.url + uri); ???????DefaultHttpClient client = new DefaultHttpClient(); ???????HttpResponse response = client.execute(get); ???????result = EntityUtils.toString(response.getEntity(),"utf-8"); ???????System.out.println(result); ???????//获取cookies的信息,因为cookie里面不只是一个,他是一个cookie类型的list ???????store = client.getCookieStore(); ???????List<Cookie> cookieList = store.getCookies(); ???????for(Cookie cookie : cookieList){ ???????????String name = cookie.getName(); ???????????String value = cookie.getValue(); ???????????System.out.println("name = "+name+",value = "+value); ???????} ???} ???@Test(dependsOnMethods = "testGetGookies") ???public void testPostMethod() throws IOException { ???????String uri = bundle.getString("test.post.with.cookies"); ???????//拼接最终的地址 ???????String testUrl = url+uri; ???????//声明一个方法post ???????HttpPost post = new HttpPost(testUrl); ???????//声明一个Client对象 ???????DefaultHttpClient client = new DefaultHttpClient(); ???????//添加参数 ???????JSONObject param = new JSONObject(); ???????param.put("name","huhanshan"); ???????param.put("age","18"); ???????//设置请求头信息 header ???????post.setHeader("content-type","application/json"); ???????//将参数信息添加到方法中 ???????StringEntity entity = new StringEntity(param.toString(),"utf-8"); ???????post.setEntity(entity); ???????//声明一个对象来进行响应结果的存储 ???????String result; ???????//设置cookies信息 ???????client.setCookieStore(store); ???????//执行post方法 ???????HttpResponse response = client.execute(post); ???????//获取响应状态码 ???????int statusCode = response.getStatusLine().getStatusCode(); ???????if(statusCode==200){ ???????????//获取响应结果 ???????????result = EntityUtils.toString(response.getEntity(),"uft-8"); ???????????//将返回的响应结果字符串转化为json对象 ???????????JSONObject resultJson = new JSONObject(result); ???????????//判断返回结果的值 ???????????String status = resultJson.getString("status"); ???????????String success = resultJson.getString("huhanshan"); ???????????Assert.assertEquals("1",status,"status的类型是"+status.getClass()); ???????????Assert.assertEquals("success",success); ???????????System.out.println(result); ???????} ???}}

首先在terminal运行命令:  java -jar ./moco-runner-0.12.0-standalone.jar http -p 8888 -c startupWithCookies.json

测试框架httpclent 4.HttpClient Post方法实现

原文地址:https://www.cnblogs.com/peiminer/p/9669642.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved