Jmeter学习笔记一_http请求、WebService请求

吃可爱长大的小学妹 提交于 2020-04-25 13:36:40

一、Jmeter简介

1、轻量级测试工具
2、运行的时候必须安装jdk
3、免安装,安装包解压即可使用
4、跨平台在Linux、windows、macos均可使用 

二、Jmeter Http请求常用操作

参照上篇初学postman中的常用操作示例,在Jmeter中制作脚本 

1、如何创建http接口脚本

   (1) 添加线程组
   (2) 添加http请求
   (3) 在http请求中写入接口url、路径、请求方式、参数
   (4) 添加查看结果树
   (5) 调用接口、查看返回值

2、get请求

get请求的参数不是直接拼在url里,而是写在Parameters里。

3、post请求

在Parameters中填入参数即可。

4、post请求,json入参

将json串填入Body Data中。

5、文件上传

选择Files Upload来做文件上传,参数名称填file与接口文档保持一致,编码类型选择utf-8避免乱码。

6、文件下载

添加一个http请求:右键线程组,添加-Sampler-HTTP请求
写好http请求中的url和路径

添加beanshell,获取到返回的文件内容,保存到一个文件里面。右键线程组,添加-Sampler-BeanShell Sampler

       beanshell是下载脚本,下载的话,有一步是要把文件保存到咱们本地的,这个jmeter没有现成的东西可以用,就得自己写beanshell来实现,把文件保存到本地。

       当然你如果要写beanshell的话,你得会它的语法,它就是java写的。不过也不用愁不会写java咋整,这个保存文件的是死格式就这么写,记住就行了,需要下载的时候复制过去就行。

复制代码
1 import java.io.*;
 2 
 3  
 4 byte[] result = prev.getResponseData();  //这个是获取到请求返回的数据,prev是获取上个请求的返回
 5  
 6 String file_name = "C:\\Users\\bjniuhanyang\\Desktop\\BaiDu.jpg"; //代表存放文件的位置和文件名
 7  
 8 File file = new File(file_name);
 9  
10 FileOutputStream out = new FileOutputStream(file);
11  
12 out.write(result);
13  
14 out.close();
复制代码

查看结果

7、http接口脚本添加header

右键点击http请求,添加配置元件,选择HTTP信息头管理器,添加header。

8、http接口脚本添加Cookie

右键点击http请求,添加配置元件,选择HTTP Cookie管理器,添加Cookier。

三、Jmeter WebService请求常用操作

1、如何创建webservice脚本

可以百度搜索“天气预报WebService”找到一个天气预报的wsdl地址,做简单的联系

   (1) 在soapui中新建已经soap项目,导入wsdl地址,获取到请求报文、SOAPAction和请求url(在soapui的raw中能找到)

   (2) 打开jmeter新建一个线程组
   (3) 新建一个SOAP/XML-RPC Request
   (4) 把url、soapaction和请求报文写到soaprequest中
   (5) 调用接口、查看返回值

2、若导入wsdl文件或者url报错

在project测试中,如果引入wsdl报如下的错误:

Error loading [http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl]: org.apache.xmlbeans.XmlException: java.io.CharConversionException: Characters larger than 4 bytes are not supported: byte 0xb1 implies a length of more than 4 bytes

解决方案:关闭程序并找到SoapUI的安装位置中的SoapUI-4.6.4.vmoptions这个文件,在末尾加入

-Dfile.encoding=UTF8 可解决

四、Jmeter中的乱码问题解决

1、 使用Jmeter进行测试,返回结果乱码

解决方案:

在安装目录/bin/ jmeter.properties中将    sampleresult.default.encoding=ISO-8859-1

改为     sampleresult.default.encoding=utf-8

 

2、Jmeter编写post脚本中Body Data输入中文时乱码

这不是乱码,而是因在 3.0 版本对Body Data 进行了优化,导致默认字体(Consolas)不支持汉字显示

解决方案:

修改配置文件{JMETER_HOME}\bin\jmeter.properties 中的默认显示字体   #jsyntaxtextarea.font.family=Hack

改为系统支持的中文字体(可进入系统目录【控制面板\所有控制面板项\字体】查看)即可。

jsyntaxtextarea.font.family=宋体

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!