本篇文章给大家谈谈post测试实例,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享post测试实例的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
post请求--编写测试用例
# coding = utf-8
import unittest# 导入unittest的包
from util.RequestUtilimport RequestUtil# 导入自己写的分装的工具类的包
host ="https://api.xdclass.net"
class UserTestCase(unittest.TestCase):
def testlogin(self):
"""
用户登录
"""
request = RequestUtil()
url = host +"/pub/api/v1/web/web_login"
data = {"phone":"18566663371", "pwd":"18566663371"}
headers = {"Content-Type":"application/x-www-form-urlencoded"}
response = request.request(url, "post", param=data, headers=headers)
self.assertEqual(response["code"], 0, "登录接口登录不通过")
if __name__ =="__main__":
unittest.main(verbosity=2)
接口测试 怎么测试post请求
新建soapUI工程:右击左侧导航面板中的工作空间节点“Project”,选择“New soapUI Project”,输入工程名称,点击OK
新建TestSuite:右击Project名,选择“New TestSuite”
新建 TestCase:右击TestSuite名,选择“New TestCase”
添加数据源:右击“Test Steps”,选择“Add Step“,选择“DataSource”
添加HTTP请求:右击“Test Steps”,选择“Add Step“,选择“HTTP Test Request”
添加循环:右击“Test Steps”,选择“Add Step“,选择“DataSource Loop“
添加数据源数据:选择数据源类型之后进行添加,下图以excle为例
添加http请求数据:选择http请求类型之后进行添加,下图以POST请求为例
添加loop:将数据源和http请求关联
编辑完成后运行测试case进行正确性的测试,为了保证运行的正确性,可以添加断言对结果进行检查
当显示的测试结果为FINISHED时,表示测试通过。
post接口每次一条
一:接口测试过程中GET请求与POST请求的主要区别
从开发角度我们看get与post的主要区别是:1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据;2.Get安全性比Post低:Get将表单中数据的按照key=value的形式,添加到action(动作或者说操作)所指向的url后面,并且两者使用“?”连接,而各个变量之间使用 “”连接;Post是将表单中的数据放在form的数据体中,按照键值对方式,传递到action所指向url;3.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度(跟浏览器和操作系统相关)的限制,只能传递大约1024字节.
从上面分析我们可知:get请求键值对都在url后面,我们按照规则可以直接在浏览器上操作,当然也可以直接借助接口测试工具进行操作,对于post请求,我们则需要借助接口测试工具,可能也有人说我可以直接在前端页面上进行测试,举一个例子,比如:在一个输入框中,输入一个0-100的整数,我们用-1,0,100,10.1,12.33,103这些测试用例进行测试,发现-1,10.1,12.33,103都不合适,前端对一些不合格的都进行了限制,但是有一天-1这个值,写入了数据库,人家不是从页面输入的,原来是做后端开发的人员不严谨造成的。这时候你就会发现利用接口测试工具有多方便了。
二:POST接口实战文件上传
找了好些接口,没有遇到满意的,在这里我使用特斯汀学院的TP商城来进行举例。
登录接口测试流程:
1.打开浏览器输入登录页面网址:http://www.testingedu.com.cn:8000/Home/user/login.html,由于浏览器F12调试模式抓取不到我想要的接口,所以利用抓包工具Charles抓取登录接口,通过抓取发现抓取的为html页面,所以Overview中Content-Type:text/html; charset=UTF-8。重点查看Contents栏中Headers中Content-Type信息、Query String Parameters(对应Charles中Contents栏中Form信息)、Response信息。
2.打开Postman,新建Request,输入url,选择POST方法等,在Body中选择x-www-form-urlencoded,填写Form里面对应的键值对,发送请求,查看结果,结果中有Unicode编码格式的,可以在网上搜索进行中文转换。
3.测试几条数据查看最后结果与预期结果作对比。经过测试发现username,password,verify_code都必不可少,手机号码要符合规则。
文件上传接口实例:在Postman中Body选择form-data,选择file格式,键为file,选择图片即可。每次发送请求需要重新上传图片,没有保存图片功能。
wrk压力测试POST请求
1. 编写lua脚本
post测试实例,填写post的数据
post测试实例, 如 post.lua
wrk.method = "POST"
wrk.body = '{"userId": "10001","coinType": "GT","type": "2","amount": "5.1"}'
wrk.headers["Content-Type"] = "application/json"
function request()
return wrk.format('POST', nil, nil, body)
end
2. 执行wrk,开始压力测试:
wrk -t 16 -c 100 -d 30s --latency --timeout 5s -s post.lua http://localhost:8021/m/zh/order/new
wrk参数用法网上很多介绍,此处不再祥述
Jmeter接口测试01-GET和POST请求
jmeter启动后的界面如下:
1、先创建一个线程组。鼠标右键点击“测试计划”,依次选择添加-线程(用户)-线程组,如下:
2、给线程组取名为“单接口测试”(名称自定义即可)。
注:命名后保存才能生效。
3、添加HTTP请求。鼠标右键“单接口测试”,依次点击添加-取样器-HTTP请求,如下:
4、GET方式请求接口。比如访问百度,配置如下:
5、发送接口请求,查看接口响应结果。
在发送请求之前先添加一个监听器“察看结果树”,为了查看接口响应结果。鼠标右键点击“单接口测试”,依次选择添加-监听器-察看结果树,如下:
点击发送按钮,生成结果树:
查看结果树,点击结果树节点,显示Response body信息:
至此,使用jmeter完成了一个GET方式的请求。
首先禁用或删除GET请求接口,鼠标右键“HTTP GET请求”(不禁用或删除也行,独立的接口之间不影响,只是点击发送按钮时,会把所有启用的接口都执行。这里为了方便,选择禁用。):
清除结果树,点击清除按钮或清除全部按钮:
1、如之前操作,添加一个HTTP请求,并命名为HTTP POST请求:
2、配置POST请求信息:
3、发送请求,并查看结果树:
至此,使用jmeter完成了一个POST方式的请求。
java 测试post请求 在body里面传递参数怎么设置,怎么接收
package wzh.Http;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;public class HttpRequest { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是 name1=value1name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "---" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求参数,请求参数应该是 name1=value1name2=value2 的形式。 * @return 所代表远程资源的响应结果 */ public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(param); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!"+e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; } }//函数调用时填入URL和参数(参数非必须)就可以获取返回的数据,发送post请求调用示例String result=HttpRequest.sendPost("/telematics/v3/weather?location=%E5%8C%97%E4%BA%ACoutput=jsonak=E4805d16520de693a3fe707cdc962045","")
关于post测试实例和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
post测试实例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、post测试实例的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~