将每周读书与学习相结合,可以有效地提升个人素养和知识水平。以下是一些建议,帮助您实现这一目标:1. **制定计划**: - 每周选择一本或多本书籍,涵盖不同领域,如文学、历史、科技、哲学等。 - 确定每天如早晨起床后、午休时间或睡前。2. **选择书籍**
摘要:每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。 1、前置处理器 在Jmeter中,前置处理器即预
每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。
1、前置处理器
在Jmeter中,前置处理器即预处理器,用于在实际取样器(Sampler)发出请求之前对即将发出的请求进行初始化的预处理,如下图所示。
从图中可以看到前置处理器通常包括:
JSR223 预处理程序:指的是使用JSR223规范(全称为Java Specification Request 223,是一个Java语言平台发布的规范,用于提供一种标准化的方式来嵌入脚本语言到Java应用程序中)实现的一种预处理程序,该预处理程序中可以使用多种脚本语言,如下所示:
BeanShell:是使用Java语言实现的一个免费小型的支持嵌入的面向对象的脚本语言。
Bsh:是BeanShell的简写,该脚本语言功能和BeanShell一致。
EcmaScript:是由ECMA国际(全称为European Computer Manufacturers Association,即欧洲计算机制造商协会)通过ECMA-262标准设计的一种脚本语言,我们经常使用的JavaScript脚本语言就是对EcmaScript标准的一种扩展实现。
Groovy:是一种运行在JVM(Java 虚拟机)上面向对象编程的脚本语言,Groovy既支持面向对象也支持作为一种纯粹的脚本语言来使用,在使用时,可以和Java语言之间互相引用和调用,由于Jmeter自身是通过Java语言实现的,所以很容易就能支持Groovy脚本语言的嵌入。
Java:目前使用最广泛的一种面向对象的编程语言,Jmeter 自身就是通过Java语言实现的,所以预处理程序肯定会支持Java语言的编写。
JavaScript:是目前使用最广泛的一种动态解析和执行的脚本语言,通常广泛的应用于前端网页的开发中,是Web开发的核心语言。
Jexl:是Java Expression Language的简写,是一种表达型的语言。
Jexl2:是Jexl语言的2.0版本。
用户参数:用户参数是一个对每个线程做预处理的动态赋值以便在性能测试时使用这些值,在Jmeter中,每个线程其实就是一个并发用户。
HTML链接解析器:指的是自动处理 HTML 响应,解析出其中所有的HTML链接和表单, 以便在下一个HTTP取样器中使用,通常当在一个性能测试中同时存在同个HTTP取样器时会被使用到,如下图所示。
HTTP URL 重写修饰符:和HTML链接解析器类似,但是其支持对HTTP URL进行重写以便存储会话ID来替代存储Cookies,通常可以在线程组中添加这个元件,只需要在此元件上指定会话id参数的名称,该元件就可以在页面中自动找到该参数,并且将该参数添加到每个取样器的请求中,该元件包含的其他功能如下:
路径扩展:通过添加分号和会话id参数来重写URL。
Do not use equals in path extension:表示在参数名称和值之间不使用“=”符号的情况下需要重写URL。
Do not use questionmark in path extension:表示不让查询字符串最终出现在路径扩展中。
缓存会话Id:表示当会话Id不存在时,是否应该保存会话Id的值以供后续测试使用。
URL Encode:写入参数是否进行URL编码处理。
JDBC 预处理程序:JDBC预处理程序指的是在取样器发出请求之前,可以通过JDBC的方式来运行一些SQL语句,这些SQL语句可以直接操作数据库,比如使用取样器发出请求之前,需要先查询数据库来获取请求的参数或者是取样器发出请求之前需要先向数据库中构造一些初始数据或者删除一些已经存在的数据等,如下图所示。
正则表达式用户参数:指的是使用正则表达式的方式从上一个HTTP取样器请求的响应结果中提取HTTP参数指定的动态值以用于下一个HTTP取样器作为请求参数使用,正则表达式用户参数只特定于单个线程中传递使用,如下图所示。
正则表达式用户参数主要包容如下功能:
Regular Expression Reference Name:表示正则表达式引用的名称。
Parameter names regexp group number:表示用于提取参数名称的正则表达式的组号。
Parameter values regex group number:用于提取参数值的正则表达式的组号。
