读《零成本实现web性能测试 基于Apache jmeter 》笔记(一)

第一.jmeter的目录结构

printable_docs---文档

extras--- 目录对构造ant工具的支持,实现批量运行脚本,把运行jmeter生成一个结果文件结果.jtl文件,放到extras下,运行命令:ant -Dtest=文件名 report

文件名不带jtl后缀

D:\apache-jmeter-2.9\extras>ant -Dtest=result report
Buildfile: D:\apache-jmeter-2.9\extras\build.xml

_message_xalan:

xslt-report:
     [xslt] Processing D:\apache-jmeter-2.9\extras\result.jtl to D:\apache-jmete
r-2.9\extras\result.html
     [xslt] Loading stylesheet D:\apache-jmeter-2.9\extras\jmeter-results-detail
-report_21.xsl

verify-images:

copy-images:

report:
     [echo] Report generated at 2015/07/07 17:26

BUILD SUCCESSFUL
Total time: 1 second
extras 文件下生成一个 result.html 文件

lib--存放jar包(公用包) ,包括两个子目录 ext 、junit 文件夹,ext目录下存放一下重要的jar或者是依赖jar包、jmeter元件和补丁(如测试数据的的jdbc 的jar),junit文件夹存放junit相关jar

第二 非GUI模式(命令行模式)参数

-n : 指明jmeter以非GUI模式启动

-t : jmx文件名称

-l :jtl 文件名称

-j :jmeter日志文件名称

-r : 在jmeter属性“remote_hosts”中定义的服务器上远程运行测试脚本

-R : 在指定的远程服务器上运行测试

-H : 代理服务器主机名称或者ip

-P: 代理服务器端口号

 第三.jmeter常用属性

bin下有jmeter属性文件:system.properties  user.properties jmeter.properties

jmeter.properties 文件中包括常用参数

#remote_hosts=localhost:1099,localhost:2010                     配置多台加压服务器

xml.parser=org.apache.xerces.parsers.SAXParser               用户指定xml解析器

ot_in_menu=HTML Parameter Mask,HTTP User Parameter Modifier    指明测试人员的不想在jmeter菜单中看到的测试元件列表

search_paths=/app1/lib;/app2/lib     jmeter扩展类的路径

user.classpath  jmeter搜索公用类的路径列表
user.properties 包含有补充jmeter属性的文件名,该属性文件将在初始属性文件之后加载,但会相遇-q 和-J选项处理
system.properties 包括有补充系统属性的问题件,该属性文件会优先于-S 和-D 选项处理

 第四.jmeter快捷键

 

 ctrl +r  开始运行

Ramp-Up Period 为100秒,jmeter就会在100秒内启动所有的进程

 

 第五.函数助手

函数助手:
__regexFunction  正则表达式函数可以使用正则表达式(用户提供的)来解析前面的服务器响应(或者是弄个变量值),函数会返回一个有模板的字符串,其中携带有可变的值。__regexFunction 还可以被用来保存值。
__counter 每次调用计数器函数都会产生一个新的值,从1开始每次加1
__threadNum  函数只是简单返回当前线程的编号,线程编号不依赖于线程组,这就意味着从函数的角度看,某个线程组的线程#1和两一个线程组的线程#1没有区别的
__intSun 可以被用来计算两个或者更多整数值的和
__longSun 可以被用来计算两个或者更多长整型值的和
__StringFromFile  可以被用来从文本文件中读取字符串,这对于需要大量可变数据的测试很有用。
__machineName 返回本机的主机名
__javaScript 可以用于执行javascript代码的片段(非java),并返回结果值
__Random 会返回指定最大值和最小值之间的随机数
__CSVRead 会从csv文件中读取一个字符串
__property 返回一个jmeter属性值,如果函数找不 到属性值,而又没有提供默认值,则它会返回属性的名称
__P 是一个简化版的属性函数,目的是使用命令行中定义的属性,不同于函数property,本函数没有提供选项用于设置保存属性值的变量
__log 会记录一条日志,并返回函数的输入字符串
__BeanShell 会执行传递给它的脚步,并返回结果
${__BeanShell(source("function.bsh"))}:行在function.bsh中的脚步-----jmeter中文本字符串及代表文本字符串的jmeter变量添加必须用引号
__plit 会通过分隔符来拆分传递给它的字符串,并返回原始的字符串。
__Xpath 读取xml文件,并在文件中需找制定xpath相匹配的地方,每次调用函数一次,就会返回一个匹配项
__setProperty  用于设置jmeter属性值,函数的默认返回值是空字符串
__time 可以通过多种格式返回当前时间
__jexl 可以用例执行通过jexl表达试,并返回执行结果
__V 可以用于执行变量名表达式,并返回执行结果
__evalVar  可以用来执行保存在变量中的表达式,并返回执行结果
__eval 可以用例执行一个字符串表达式,并返回执行结果
__char 会将一串数字翻译成Unicode字符
__unescape 用于反转义java-escaped 字符串。
__unescapeHtml  用于反转义一个包含html实体的字符串,将其变成包含实际Unicode字符串,支持html4.0的实体
__escapeHtml 用于转义字符串中的字符(使用HTML实体),支持HTML4.0实体
__fileToString 可以被用来读取整个文件。每次对该函数的调用,都是读整个文件

第六.ant批量运行jmeter脚本

将jmeter项目对应的.jmx文件,放到extras目录下,即可使用Ant实现测试的自动化
(前提:查看是否安装ant 命令:ant -version)
ant -Dtest=测试案例名称    :运行测试案例并生产报表
ant -Dtest=测试案例名称 run   :只运行测试案例
ant -Dtest=测试案例名称 report :只生产测试报告(需要把测试采样数据.ttl文件放到ant目录下)

猜你喜欢

转载自km-moon11.iteye.com/blog/2225030