IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> jmeter5.4.1设置代理录制脚本并优化(web) -> 正文阅读

[开发测试]jmeter5.4.1设置代理录制脚本并优化(web)

一、前期准备

  1. Windows系统,jmeter软件安装完成(安装过程此处不做讲解,有时间的话会写一篇)
  2. 浏览器(火狐和谷歌均可,下面实践用火狐浏览器)
  3. 本次实践jmeter版本为5.4.1
  4. 可访问互联网的环境,有线或者wifi均可,下面实践用的是有线网络

二、测试过程说明

  1. 本次测试以博主所负责项目的web页面为例
  2. jmeter设置http代理服务器,火狐浏览器添加代理,录制操作过程生成脚本,对生成的接口进行过滤和优化,可进行多线程多并发请求。

三、实战

  1. 启动jmeter,在测试计划中添加http代理服务器;(这里说明一下,老版本的jmeter可以在工作台中添加http代理服务器。新版本的jmeter没有工作台,在测试计划中添加,但功能不会影响。)?
  2. http代理服务器填写端口(未被占用的端口即可)8881,选择目标控制器,最好选为新添加的线程组,方便观察;(目标控制器即为录制结果的展示)

  3. 这样的话jmeter的http代理就设置好了,然后打开火狐浏览器,给浏览器添加代理,Win+R--->ipconfig查看一下本机ip地址,填写到浏览器的http代理框中;需要注意的是代理的端口一定要填写和上一步jmeter中填写的一致8881,点击确认;

    ?

  4. 浏览器也设置完成之后,就可以启动jmeter的代理服务器了,点击启动按钮;

  5. 弹出页面点击ok即可;

  6. 切换到火狐浏览器页面,输入被测网址,进行操作(流程操作,场景复现等均可),本次实战操作了一个提交的流程;

  7. 操作完成后,停止jmeter代理服务器,若没有后续测试计划,即可把浏览器的网络设置还原回去,取消代理,不然会无法正常访问互联网哦;

  8. 切换到jmeter页面,在测试计划添加察看结果树和聚合报告,可以清晰的查看请求和响应;

  9. 操作到这里,一个简单的录制就完成了,接下来需要对录制过程和脚本进行优化和二次加工;

  10. 在jmeter页面的第2步的目标控制器里,可以看到有很多请求,是录制过程中产生的,其中有一些是图片、js等不符合我们需求的请求,此时我们需要用到排除模式;(大部分有价值的请求为post、get等,当然也可以点击添加建议排除)

  11. 包含模式,添加后可以只抓取包含的请求

  12. 对于请求中的变量,在测试用例设计过程中,需要不同参数多次请求的情况,可以使用jmeter的参数化--函数助手,引用函数来降低测试过程的繁琐性;?

  13. 脚本线程数和循环次数的设置,在线程组页面,可以编辑线程数(并发数,即测试时的用户数量),Ramp-up时间(秒)(加压参数,即几秒内执行完所有的用户线程,例:若设置为1s,线程数设置为100,则表示在1s内完成100次请求),循环次数(执行线程的次数)等,来实现符合压力/性能测试需求的脚本。

四、总结与问题记录

  1. 对于性能/压力测试,录制脚本的方法虽然简单,但是局限性相对大一些,没有手动设置接口请求灵活,jmeter操作功能非常强大,好好研究可以实现很多测试需求;
  2. jmeter设置代理录制app也是一样的道理,设置相同网络和端口来实现;
  3. 打开jmeter的时候,要打开bin文件下的.bat文件,部分用jar打开的话可能会无法启动或者录制脚本;
  4. 遇到jmeter乱码的情况,在这里介绍3种方法,也是我通过经验和借鉴得来的:(1)在http请求中,Content encoding设置为utf-8;(2)在jmeter的bin文件夹中,将jmeter.properties设置encoding为UTF-8(默认为ISO-8859-1);(3)添加后置处理器BeasShell后置处理程序:prev.setDataEncoding("utf-8")
  5. jmeter中的http代理设置完成之后,启动会生成证书,如果无法正常录制或者启动代理服务器,需要将该证书添加到手机/浏览器,使其被信任,方可进行接下来的操作;
  6. 下载了英文版jmeter的小伙伴,可以通过options--choose language更改语言;(因为我忘改了,后来才反应过来)

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-20 18:41:37  更:2021-11-20 18:43:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:38:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码