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

1、Jmeter简介

一、轻量级测试工具
二、运行的时候必须安装jdk
三、免安装,安装包解压便可使用
四、跨平台在Linux、windows、macos都可使用 java

2、Jmeter Http请求经常使用操做

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

一、如何建立http接口脚本

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

二、get请求

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

三、post请求

在Parameters中填入参数便可。apache

四、post请求,json入参

将json串填入Body Data中。json

五、文件上传

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

六、文件下载

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

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

       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();
复制代码

查看结果

七、http接口脚本添加header

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

八、http接口脚本添加Cookie

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

3、Jmeter WebService请求经常使用操做

一、如何建立webservice脚本

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

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

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

二、若导入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 可解决

4、Jmeter中的乱码问题解决

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

解决方案:

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

改成     sampleresult.default.encoding=utf-8

 

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

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

解决方案:

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

改成系统支持的中文字体(可进入系统目录【控制面板\全部控制面板项\字体】查看)便可。

jsyntaxtextarea.font.family=宋体

相关文章
相关标签/搜索