| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 如何使用JMeter自身代理录制测试脚本 -> 正文阅读 |
|
[开发测试]如何使用JMeter自身代理录制测试脚本 |
录制脚本只不过是我们日常工作中的一个小应用而已(对!就是玩儿!),只是为了能快速看到应用程序跑的逻辑及实现顺序。并够帮助测试人员,快速查出问题出现的节点。 而对于做有针对性的测试时,比如做某个接口的测试,建议大家还是自己去创建及组织脚本,不过录制的脚本可以拿来做参考,粘贴复制也是可以节省不少的工作量。 在JMeter中可以使用自身就带的HTTP代理服务器组件录制脚本,可以录制在WEB上的操作,也可以录制在手机App上的操作。 ·录制在WEB上的操作时,需要设置浏览器的代理服务器。 ·?录制在手机App上的操作时,需要设置手机上的代理服务器。 下面就详细的介绍,使用HTTP代理服务器组件录制WEB脚本。 我们以一个电商项目为例,录制如下步骤: ·登陆网站。 ·?查看商品。 ·?把商品加入购物车。 ·?查看购物车。 1、测试计划内包含的元件 添加元件操作步骤: 创建测试计划。 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组。 在线程组中,添加配置原件“HTTP Cookie管理器”组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP Cookie管理器。 说明:如果录制的操作包括用户登录操作,则需要添加“HTTP Cookie管理器”,添加之后不需要任何配置,录制后,脚本中便保存用户登录的相关信息。 在测试计划下,添加非测试元件“HTTP代理服务器”组件:选中“测试计划”右键 —> 添加 —> 非测试元件 —> HTTP代理服务器。 在HTTP代理服务器组件下,添加监听器“察看结果树”组件:选中“HTTP代理服务器”右键 —> 添加 —> 监听器 —> 察看结果树。 最终测试计划中的元件如下: 点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。 2、HTTP代理服务器的设置内容 在HTTP代理服务器组件中,我们需要编辑: 端口:默认8888,一般使用默认即可。主要不能与本地其他服务的端口号冲突,否则启动不了。 HTTPS Domains:我的理解就是,设置代理服务器的主机IP地址或者域名。因为在我们本地使用,一般就是localhost或者127.0.0.1即可,当然不填写也是可以的。(此填写的地址一定要能够连接外网) 设置目标控制器:也就是录制的组件存储到什么位置。这个一定要选,下图中选择了存储到目标线程组中。 配置完的界面内容,如下图所示: ? 3、设置浏览器的代理服务器 每个浏览器都可以设置服务器的代理,以Firefox浏览器为例。 点击右上角的设置 —> 选项 —> 常规 —> 最下面的网络设置,点击设置,就可以进入到代理服务器的设置页面了。 选要选中手动配置代理服务器,然后输入代理服务器的地址或者域名,还有端口号。 这里的配置,要和上面JMeter的HTTP代理服务器中的端口和HTTPS Domains的配置要对应上。 这样的话,浏览器中的操作,会先发送到JMeter中的HTTP代理服务器,在通过网络进行传输。这样JMeter中就可以录制下我们的操作,生成脚本了。 如下图所示: 提示:一定要勾选,“也将此代理用于FTP和HTTPS”选项。 4、录制脚本 以上内容设置完毕后,在浏览器地址栏中输入要录制脚本的地址。 然后在JMeter中的HTTP代理服务器界面,点击启动按钮。 提示:在HTTP代理服务器界面点击“启动”时,Meter将生成自己的证书。证书生成可能需要一些时间,在此期间,GUI将无响应。证书生成完成后,GUI将显示一个弹出对话框,其中包含根CA证书的详细信息,证书有效期为7天。该证书需要由浏览器安装,以便接受JMeter生成的主机证书。 如下图所示: 于配置证书,这里就不展开说明了。 之后开始在网站上进行操作,所有操作发出的请求,都会录制到JMeter脚本中。 操作完成之后,到JMeter的HTTP代理服务器中点击“停止”,然后将浏览器的代理设置恢复原样即可。 不恢复的话,会导致你无法使用浏览器访问外网。 如下图所示: ? 5、查看录制的脚本 在JMeter中我们可以看到已经记录了许多请求对应的信息,包括PHP、js、.jpg、.png、.txt等请求。 如下图所示: 我们可以看到,我们只进行了简单的几步操作,却录制这么的请求。是因为JMeter录制很多非关键性的请求,这就需要我们进行一些优化。 录制脚本的优化有两个步骤: 在录制的时候,做一些过滤和排除操作。 在录制后的脚本中手动优化,删除不需要的组件,增加自己需要的组件。 1)服务器名称或IP与目标网站不同的、无关的,可以删除。 2)js/css/png/jpeg等这类请求删掉。 3)没有传递任何数据的请求可以屏蔽掉,等流程能回放成功了,这些再删除。如果回放不成功,再一个一个打开,进行检查。 6、HTTP代理服务器的排除模式 在测试脚本中有一些录制的信息是没有任何作用的,所以我们在录制脚本的时候,就可以通过HTTP代理服务器的排除模式,排除一些不需要的请求信息,如css、gif、png等请求。 例如: 在包含模式添加填上 .*\.jsp,只在请求JSP文件时录制脚本。 这里通常都是设置JSP或者HTML,可以根据具体情况进行填写。 在排除模式处填上.*\.js ,在请求js文件时不录制脚本。 这里通常都是设置js、jpg、png、gif、css等,这些类型文件请求都是不需要录制的。 当然我们也可以点击添加建议排除按钮,会自动生成一个过滤的正则表达式。 如下图所示: ? 添加上这些时候,录制出来的脚本,多余的累赘会减少很多。 7、保存脚本 脚本录制完成后,需要进行脚本的保存。 把脚本保存到本地,可以分享给其他成员,进行查看、编辑、回放等操作。 ? ? ? ? ? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 2:28:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |