zoukankan      html  css  js  c++  java
  • Jmeter学习笔记一_http请求、WebService请求

    一、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}injmeter.properties 中的默认显示字体   #jsyntaxtextarea.font.family=Hack

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

    jsyntaxtextarea.font.family=宋体

  • 相关阅读:
    10年测试专家深度解读接口测试
    测试技术大牛谈成长经历:一个好的软件测试工程师应该做到这些!
    一位测试老鸟的工作经验分享
    又一名程序员倒下,网友:我们只是新时代农民工
    软件测试工程师这样面试,拿到offer的几率是80%
    App测试流程及测试点(个人整理版)
    自动化测试是什么?
    软件测试工程师的职业技能分析
    月薪15k的测试员需要学习什么技术?
    面向对象
  • 原文地址:https://www.cnblogs.com/dongrui624/p/8573503.html
Copyright © 2011-2022 走看看