如何编写测试团队通用的Jmeter脚本
如何编写测试团队通用的Jmeter脚本
平时学习、工作过程中,编写的一些jmeter脚本,相信大多数都遇到过这个问题。那就是:如果换一台电脑运行,文件路径不一样,会导致运行失败。
前不久,自己就真真切切遇到过一回,A同学写了个脚本用于压测,需要其他测试同学协助下,结果部分人员没有提前调试代码,导致运行的时候报错。
主要的原因就是,A同学写的脚本不能通用,以自己本机的路径来编写的,而其他同学的文件路径不一样,导致报错。
后面我实在看不下去了,把脚本改动了下,压测顺利结束。
那么这个问题是否有解决的办法呢,自然是有的,而且很简单。
我们来看详细
获取文件目录用户定义变量我们先来看第一种方式,直接使用beanshell函数,将变量放到用户定义的变量中,如下所示;脚本运行后,可以在日志中查看到获取到的脚本路径。
代码如下所示:
${__BeanShell(import org.apache.jmeter.services.FileServer;FileServer.getFileServer().getBaseDir();,)}
添加的这行代码,后续直接用shellPath字段来替换掉固定文件path就ok了
beanshell处理器在线程组中添加beanshell后置处理器,配置如下:
代码如下所示:
import org.apache.jmeter.services.FileServer;String path = FileServer.getFileServer().getBaseDir();log.info(path);
HTTP默认请求头通常一个脚本中,不止一个接口请求。我们每个请求都得有host、protocol,如果这些通用参数都写在每个请求里,变动一次,那这改动量可就太大了。
对于这个问题,我们可以使用HTTP默认请求头,将host、protocol配置好,在后续的请求中就不会再填写host、protocol。
如果参数有改动,那也只需要改动一次而已,大大提高效率。配置如下所示:
针对开篇讲到的案列,问题出现点,我们来一一解答
CSV参数化脚本是打包在一个文件夹传递的,脚本中引用一个参数化文件。文件的路径为A同学的固定路径,可其他同学拿到脚本,存放的路径并不一致,那直接运行的话,必然会报错。
对于这个点,我们来改造如下,脚本路径使用变量shellPath替换即可,如下所示:
脚本中还有个附件上传请求,文件路径也是固定的,同理,用我们定义的变量shellPath替换即可,如下所示:
脚本运行过程中,会保存一些字段数据,但为了不影响新一轮测试,所以在测试前,会把历史数据给删除。
同样的,我们要删除的文件路径也替换成变量shellPath,如下所示:
以上只是jmeter使用中很简单的功能,虽然简单,但作用却很大。
如果脚本不通用,即使在自己电脑上正常运行,换一台设备,就又得再调试,不是我们想要的效果。
在编写脚本时,还是需要编写通用的脚本,一些小细节,忽略不得。
如何编写测试团队通用的Jmeter脚本 相关文章
- 如何编写测试团队通用的Jmeter脚本
平时学习、工作过程中,编写的一些jmeter脚本,相信大多数都遇到过这个问题。那就是:如果换一台电脑运行,文件路径不一样,会导致运行失败。 前不久,自己就真真切切遇到过一回,A同学写了个脚本用于压测,需要其他测...
- Jmeter系列012-性能测试实战之脚本编写调试数据准备
Jmeter系列012-性能测试实战之脚本编写调试数据准备 在Jmeter的GUI界面,根据实际的业务需求进行脚本编写(以百度为例子) 1)线程组:设置了1000个线程,说明HTTP请求会进行1000次 2)监听器-察看结果树:可以实时查看到运行过...
- Jmeter如何更好的组织脚本结构进行接口测试
Jmeter如何更好的组织脚本结构进行接口测试 做接口测试已经两年多了,jemter的脚本编写特别灵活,要想更高效的使用jmeter进行接口测试,需要对脚本的层次结构有所约束,形成一个统一规范。 在这里我把我的经验分享一下,可...
- JMeter手工编写Web脚本
JMeter手工编写Web脚本 使用JMeter,有2种方式录制脚本。第一种:使用自动化测试工具Badbody录制脚本, 并且将脚本直接保存为 JMeter 文件,再导入到JMeter中来使用;第二种: 通过 JMeter 自身服务器代理设置来录制脚本。 另外,还...
- jmeter压测脚本编写与运行
jmeter压测脚本编写与运行 资源调度池,控制性能测试运行调度、并发数、执行策略 线程组分类:setUp Thread Group,Thread Group,tearDown Thread Group 添加线程组:右键TestPlan - Add - Threads(users)- Thread Group Thread Group 下的几个关键设置:
- jmeter__编写脚本学习笔记、备忘
jmeter__编写脚本学习笔记、备忘 web持续添加 前言: 1. token就是令牌,比如你授权(登录)一个程序时,他就是个依据,判断你是否已经授权该软件;也叫关联 2. cookie就是写在客户端的一个txt文件,里面包括你登录信息之类的,...
- Jmeter手动编写脚本详解(Jmeter 5.3 jdk1.8.0_201)
Jmeter手动编写脚本详解(Jmeter 5.3 jdk1.8.0_201) 目录 思路 执行步骤 步骤一:判断正确的响应信息 步骤二:开启写轮眼模式 调试 场景设置 结果监测 ???压测时需要发送大量请求到服务器,从而对服务器造成压力,以进行性能测试。Jm...
- 性能测试脚本的编写和调试
性能测试脚本的编写和调试 性能测试是一个入门简单,但是精通难,很依赖实践经验的技术活。如何编写压测脚本只是小术,而如何快速找到问题的原因,压出瓶颈却是大有学问。不过本文先从术入手,先对一个自己临时写的...
- JMeter性能测试:JMeter安装及脚本录制回放
目录 性能测试基本概念 为什么要做性能测试 什么是性能测试 常见性能测试工具 JMeter JMeter安装-windows JMeter插件安装 JMeter脚本录制 除了功能测试以外,服务端的性能测试也非常重要,比如产品功能测试通过,那么在大负载的情...
- 使用 Java 语言编写测试脚本测试App
1、Java+Appium 环境 https://www.jianshu.com/p/1b959e0baae2 2、识别与操作控件元素 找到\Sdk\tools\bin下的uiautomatorviewer.bat双击 点击第一个图标,识别文件属性 driver.findElementBy(属性).sendKeys("数据") driver.findElementBy(属性).clear() dr
- 【JMeter接口测试学习笔记】--- day3 JMeter运行原理脚本录制
【JMeter接口测试学习笔记】--- day3 JMeter运行原理脚本录制 day3 JMeter运行原理脚本录制 (一)JMeter运行原理概述 (二)Jmeter测试计划要素 1.**测试计划,有且只能有一个** 2.在测试计划中**至少有一个线程组** - 3.在线程组中**至少...
- python编写脚本测试文件
python编写脚本测试文件 测试环境的准备 第一步:去manage.py中拷贝前四行有效代码 第二步:添加如下两行代码 import django django.setup() 第三步:编写测试代码 示例代码: import osif __name__ == __main__: os.environ.setdefault(DJANGO_SETTINGS_MODU
- 接口测试工具 Jmeter使用笔记(一:编写一个http请求)
接口测试工具 Jmeter使用笔记(一:编写一个http请求) 记录学习过程 一、安装Jmeter 1.JAVA环境 JDK下载地址http://java.sun.com/javase/downloads/index.jsp 配置系统变量: (1)JAVA_HOME,变量值为:你在本地安装JDK的目录。 C:\ProgramFiles\Java\jdk1
- jmeter移动端录制脚本正则表达数据库压力测试
jmeter移动端录制脚本,正则表达,数据库压力测试 文章目录 1, 移动端录制脚本,获取页面接口 2, 正则表达 获取第一个接口的返回值 3, 数据库压力测试 手机和电脑要连接同一个wifi 获取本地ip地址设置在手机上 手机wifi连接 连接...
- JMeter--HTTP(S) 测试脚本录制创建过程 ---下
JMeter--HTTP(S) 测试脚本录制创建过程 ---下 1、接着上面开始配置代理(其实就是让JMeter监听你浏览的网页) 温馨提示:如果你不用JMeter代理的时候,需要关闭浏览器代理模式,不然会出现网址证书异常,上不去网等情况,因为你...
- 性能测试篇 :Jmeter HTTP代理服务器录制压力脚本
性能测试篇 :Jmeter HTTP代理服务器录制压力脚本 从loadrunner到jmeter,录制压力测试脚本好像都只支持IE,近来才知道jmeter还有自带的录制脚本元件, 且支持IE、Chrome 及Firefox等多种浏览器。这里就记录一下通过jmeter HTTP代理服务器...
- 用python语言编写selenium自动化测试脚本百度搜索一行内容
用python语言编写selenium自动化测试脚本百度搜索一行内容 第一步:搭建好selenium自动化测试环境。 第二步:打开pycharm,编写需要的脚本。 #1.导入驱动,打开浏览器 from selenium import webdriver driver=webdriver.Chrome() #2.打开网站 driver.get(...
- Python+Appium自动化测试-编写自动化脚本
Python+Appium自动化测试-编写自动化脚本 我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 + Python3.7 + appium1.18.0 + Android手机 + 今日头条app + Pycharm 具体的获...
- Cypress学习笔记4编写第二个测试脚本(登录案例)
Cypress学习笔记4编写第二个测试脚本(登录案例) 引言 前面一节已经讲过访问百度的脚本,现在一个登录的UI自动化案例,以禅道为例(暂时不用公司网站,最近公司信息安全管控比较严格)。 脚本编写 写脚本如写用例,只不过...
- LoadRunner性能测试系统学习教程脚本编写之关联函数介绍(7)
LoadRunner性能测试系统学习教程:脚本编写之关联函数介绍(7) 上期讲到LoadRunner性能测试脚本编写之关联技术,这期我们一起来学习脚本编写之关联函数介绍。 PART1 关联函数介绍 LoadRunner最新版本中 使用的关联函数为 web_reg_save...