• Jmeter接口测试 (一) 单个接口测试


    一、安装jmeter

    1、jmeter运行需要java环境,所以需要先安装jdk,并配置jdk的环境变量,具体参考https://www.cnblogs.com/gloria-5/p/10411447.html。

    补充:Jmeter依赖java,对jdk的版本有要求,具体百度查询

    2、打开官网:http://jmeter.apache.org/download_jmeter.cgi 点击zip的包下载
    3、下载好直接解压,打开bin目录下的jmeter.bat文件,即可。
    不过jmeter比较特殊,支持多窗口打开,再次打开的时候找到安装的文件夹,继续点击bin目录下的jmeter.bat文件即可。

     
     
    注解:

    a、bin目录:打开Jmeter主界面,有很多可执行文件、配置等,Jmeter.properties中存放jmeter日志文件,默认在Jmeter.log可查看日志
    b、docs目录:是JMeter的java Docs,可打开apiindex.html页面来查看
    c、extras目录:提供了对构建工具Ant的支持,可以使用Ant来实现测试自动化
    d、lib目录:该目录包含两个子目录,其中ext子目录存放有JMeter的核心jar包,另一个 junit 目录存放JUnit测试脚本。用户扩展所依赖的包,应该直接放到lib目录下,而非lib/ext下。
    e、printable_docs目录:usermanual目录下存放JMeter用户手册文档,其中component_reference.html可看到最常用的核心原件帮助文档。
    demos目录下放有一些常用到的JMeter脚本案例

    二、语言设置

    1.设置成中文(此次生效,重启后恢复默认设置)

    2、设置jmeter默认为中文的方法

    打开jmeter文件夹,在bin目录中找到 jmeter.properties

    用notepad++打开,找到第37行,修改为language=zh_CN

    三、Jmeter简介

     

    四、单个接口测试框架搭建

    1、设置http请求默认值

    2、添加线程组
    方法二:
    补充:
     3、线程组建立完,需要建立一个监听器----察看结果树
    4、搭建完基本结构,对数据库和线程组分别取名

    5、想看哪个线组的运行结果,直接启动哪一个,其他全部禁用就可以了

    6、完善每个线组的框架

    6.1 添加简单控制器 修改成单一测试项目名称

    6.2 添加http请求默认值---规定每个测试项目的协议,ip:端口,编码格式

    补充:http请求默认值里填写的内容包括:协议,ip,端口号,content endcoding 内容编码

    如果一个web服务器发送多个请求,就在线程组里添加一个http请求默认值,那http请求里就不需要填写web服务器了。

    6.3 在商城注册里添加一个http信息头管理器,

    Http信息头部管理器——作用就是规定请求正文中的数据格式。键值对的可以不用修改,直接用请求默认数据格式就可以了

    比如:
    i、json数据格式
     ii、键值对 数据格式

    6.4 在商城注册里再添加两个简单控件,修改为正常流、异常流

    6.5 在正常流,异常流里分别添加http请求,修改名称(格式:如正常流,是 xx_正常流_全字段覆盖)
     6.6 在http请求里添加响应断言
    补充:断言里面添加的内容,一般0000表示运行成功;9999或者其他的表示失败,不过具体要在察看结果树里看响应数据里响应码是什么

    运行成功与否都是在查看结果树里看到的,一般绿色表示成功,红色表示失败

    五、框架搭配好,需要在http请求里填写数据

    注意:具体内容参考接口文件或者swagger里的请求传参格式

    1)有文本型接口规范的

    步骤:
    第一、根据文本格式用Notepad++写好xml文本规定的格式(一般编写xml或键值对格式,json格式一般用百度翻译转把xml格式化成json格式)
    第二、根据编写的格式填写框架

    2)查看在线接口文档swagger里的接口规范

    3)如果没有测试规范 

    方法一、点击F12,查询接口规范

    方法二、用抓包工具把接口请求抓下来,查看请求数据格式

    六、不同数据类型的请求

    1、post请求之json数据

    2、query数据(键值对),不管是post请求还是get请求,请求正文里的参数都可以填写在parameters里面。除之之外,post还可以放在body里,以键值对的格式填写;而get请求只能放在路径里,在url后面加?以键值对的格式填写即可。

    i、post请求之键值对有两种方法

    方法一:填写在Parameters里

     方法二:以键值对的格式写在BodyData里

     ii、get请求之键值对数据

    方法一:以键值对的格式填写在Parameters里

     方法二:以?分割填写在路径里面

    3、path数据(参数在请求路径里)

    不管是post请求还是get请求,直接把请求路径里的{变量}用具体的参数替代即可。

    4、post请求之path+json数据

     5、post请求之上传文件

    i、先准备好要上传的文件,知道文件存放的位置

    ii、打开抓包工具

    iii、手动操作一遍上传文件

    iiii、在抓包工具里查看请求正文里的信息

     iiiii、根据抓包里的请求正文,填写数据

     如果上传失败

     6、get请求之下载文件

    i、根据接口文档或抓包填写http请求数据

    ii、执行脚本,查看结果树,发现乱码,所以需要把下载的数据以什么格式存放在一个文件里

    iii、添加BeanShell PostProcessor——在后置处理器里。编写脚本

    iiii、在用户定义的变量填写文件名

    七、fiddler抓包的方法把接口抓下来,直接导入jmeter

    步骤:
    i、打开fiddler,设置网站地址过滤

    ii、手动执行业务流程

    iii、添加备注 comment

     
    iiii、导出脚本
    iiiii、导入jmeter,修改脚本
     
  • 相关阅读:
    对数可以用来简化乘法计算
    理解了一点github的用法了
    由摄氏温度和华氏温度转换想到的。
    CMD原来是支持通配符的啊
    怎么在CMD中创建文件
    如何学习数学
    SCILAB
    STS或eclipse安装SVN插件
    Html解析类的新选择CsQuery
    Tomcat编码问题
  • 原文地址:https://www.cnblogs.com/gloria-5/p/12468874.html
Copyright © 2020-2023  润新知