Jmeter(七)Jmeter脚本优化(数据与脚本分离)
午休时间再来记一记,嗯。。回顾着使用Jmeter的历程,想着日常都会用到的一些功能、一些组件;敲定了本篇的主题----------是的、脚本优化。
说起脚本优化,为什么要优化?又怎么优化?是个永恒的话题。因为毕竟每个人的精力不同、业务不同、需要不同;但是可以肯定的是,但凡有做自动化之类(骚操作),那么便离不开一个概念。什么呢?-------脚本与数据分离
何谓“脚本与数据分离”?
所谓脚本与数据分离,可以举一个简单例子,2016年,具体不清楚是什么时间,在逛微博的时候,看到德国的一条杀鸡流水生产线,以一小时杀5000多只鸡的速度而闻名(具体是不是世界第一,就不纠结了,只是举个例子),而工作人员只需要在生产线的开始阶段将活鸡扔进去,直接就可以去流水线的结束段收获成果,质量是非常之高,活鸡进去,出来的都是一块一块的鸡腿、鸡脖子、鸡头、鸡爪(当然是洗干净的,哈哈);OK,回到本主题,脚本与数据分离也是这个道理,流水线我不动,至于它是怎么工作的,提前设计好就OK,只需要扔原料即可,因此,此处的脚本便可以理解成流水线、而数据源便可以理解成鸡啦。怎么动数据无所谓,流水线(脚本)都是按照设计来进行执行的(哈哈、可能举的例子有点抽象,但是大概意思明白就OK)。
当然,现今,脚本与数据进行分离已经成为自动化的基本要求;除此之外,还有一个“业务与脚本分离”,这个概念以后再记。
那么Jmeter如何实现“脚本与数据分离”呢?
Jmeter经过这么多年的发展,丰富的组件完全可以满足此要求。
OK,还是百度的例子!
可以看到,我模拟了一个参数user并传入123进行请求;
请求中user参数以及传入的123是发过去了,暂时忽略请求的成功与失败。
那么,我再添加一个请求,baidu--首页--2;给user的参数传入321;
其他的协议,服务器名称,端口号,路径都一致;
可以看到321也传成功了;
那么,在请求中那些一直的部分很繁琐,一个两个请求可以进行手动写,那么几百个呢?
放心、Jmeter有处理这方面的组件。
是的,就是它喽,可以看到它和HTTP请求的界面几乎一般无二,但是实现的功能确实完全不一样的;
我们将baidu--首页--1和baidu--首页--2,两个HTTP请求中共同的地方提取了出来,放入HTTP请求默认值中,唯一没变的是它的传参,请求一下试试,看看监听器的内容
呐、都是POST请求,https://www.baidu.com/
因此,完全可以实现,简化脚本、简化工作量的目标。
截止此步,一个http协议的Jmeter脚本优化便完成了。
那么,又回到刚刚的问题,不是“数据与脚本分离”么?这么看来也并没有实现数据与脚本分离嘛。。
Jmeter读取本地的文件(支持最好的是csv文件)也有很丰富的插件,暂且提一种方式进行读取外部文件,其余的后续会做逐一记录。
是的,就是它CSV Data Set Config
Filename:文件名(包含路径)
Fileencoding:文件编码格式
variable name(comma-delimited):变量名---默认以下方的逗号分隔符进行分隔
Ignore first line (only used if variable names is not empty):忽略第一行(仅在变量名称不为空时使用);忽略CSV文件的第一行,只有在变量名不为空时才使用,如果变量名为空,则第一行必须包含标题。
Delimiter(user【\t】for tab):分隔符
Allow quoted data?:CSV文件是否应该允许引用值?如果启用,则值可以被括在“ - 双引号 - 允许值包含分隔符。
Recycle on EOF?:文件是否应该从EOF开始重新读取?(是否循环读取)(默认是true)
stop thread on EOF?:在EOF停止线程?如果回收错误,则再EOF处停止线程
sharing mode:共享模式;所有线程 - (默认)文件在所有线程之间共享;
当前线程组 - 每个文件为其中显示该元素的每个线程组打开一次
当前线程 - 每个线程分别打开每个文件
标识符 - 共享相同标识符的所有线程共享相同的文件。因此,例如,如果您有4个线程组,则可以使用两个或多个组的共同ID来共享它们之间的文件。或者,您可以使用线程号在不同线程组中的相同线程号之间共享文件。
很多人会忽略这部分内容,当然具体的用法,以及场景后续记。
外部csv文件内容
HTTP请求默认值、HTTP请求中引用方式
OK,看运行结果
与上方是完全一致的,如此呢,我们就达到了一个“数据与脚本分离”,虽然说简单了点,没有业务逻辑的处理、判断条件等,但是目的也已经达到了。
服务器配置信息,协议、地址、端口号、请求参数、等等都可以进行在外部文件中进行更改,完全可以不用更改脚本;虽然此处的脚本可能太过于简单了点,但是无非就是说明一个道理,Jmeter是可以完成这部分工作的,相信在特别大的系统中,你能看到Jmeter这部分效果的。
OK,还有大把大把的工作等着俺处理、、、、今天就先记到这块。
转载于:https://www.cnblogs.com/richered/p/8341239.html
Jmeter(七)Jmeter脚本优化(数据与脚本分离)相关推荐
- Hive面试-情景题总结【包含:建表脚本、数据导入脚本、模拟数据】
文章目录 前言: 建表语句 load脚本 常见sql情景题 前言: Hive面试除了理论知识外 情景题也占据了很大的比重 总结一下有代表性的几道情景题,可以根据这些情景题来推演其他相似的题型 本锦集并 ...
- python编写es脚本_es数据迁移脚本(python)
#!/usr/bin/python#-*- coding: UTF-8 -*-#文件名:indiceCreate.py importsysimportbase64importtimeimporthtt ...
- python逻辑与界面分离_一种数据与逻辑分离的Python单元测试工具
一种数据与逻辑分离的Python单元测试工具 几个概念 TestCase TestCase是一个完整的测试单元,最小的测试执行实体,就是我们常说的测试用例. TestSuite 以某种特性将测试用例组 ...
- Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1. 安装MySQL ODBC驱动程序 O ...
- Jenkins+Jmeter、jmeter脚本执行执行失败,jenkins构建成功
搭建了一套接口自动化环境,一键构建执行接口脚本,生成测试报告,失败情况下,发送邮件通知相关人员. 基本思路是这样的,但是,遇到了一个问题,浏览测试报告格式及查看相关内容是否正确的过程中,发现有测试用例 ...
- MeterSphere在开源压测工具JMeter上的分布式优化和实践
Apache JMeter是一款100%纯Java的开源软件,旨在加载测试功能行为和测量性能.它可以用来测试静态和动态资源的性能,例如静态文件.Java Servlet.CGI Scripts.Jav ...
- Jmeter向数据库批量插入数据
Jmeter向数据库批量插入数据 下面介绍一下Jmeter向mysql数据库中插入数据的入门操作 1.新建一个线程组,这是必经步骤: 在测试计划上右键–>添加–>Theaders(User ...
- loadrunner 脚本优化-事务时间简介
脚本优化-事务时间简介 by:授客 QQ:1033553122 事务概念 事务是指用户在客户端做一种或多种业务所需要的操作集(actions),通过事务开始和结束函数可以标记完成该业务所需要的操作内容 ...
- 阿里云物联网平台-数据解析脚本详解
阿里云物联网平台-数据解析脚本详解 var COMMAND_REPORT = 0x00; //属性上报. var COMMAND_SET = 0x01; //属性设置. var COMMAND_REP ...
最新文章
- wampserver下升级php7
- 【NOI2015】软件包管理器
- php5.5 sqlserver 2012,PHP连接SQLSERVER2012
- display:inline-block的深入理解(转)
- ORACLE导出导入意外终止导致 ORACLE initialization or shutdown in progress 问题解决
- .NET 常用ORM之SubSonic
- 最近很火的京东、天猫超市飞天茅台抢购是怎么回事,从原理流程给你们分析一波
- matlab 读取 Microsoft Excel 电子表格文件不推荐使用 xlsread
- keil的终极配色方案(提供配置文件)
- 如何分享带淘宝客的链接到新浪微博
- MAC常用软件127
- Specular Highlights(镜面光)
- python canvas画弧度_编程作战丨如何利用python绘制可爱皮卡丘?
- P02014026黄一洋————信息论问题回答
- 【西电—英美国家概况(英美概况/英美文化)2023第一学期】第十章参考课后答案
- 【看表情包学Linux】GDB 调试教学 | gcc 和 g++ | 函数库
- 正则匹配两个字符之间的字符串
- 递归习题—排队游戏(C程序设计进阶 第3周)
- RTOS学习笔记--时间片调度
- magic winmail邮件服务器,使用Magic Winmail Server轻松架设邮件服务器(一)-网管专栏,邮件服务...