设为首页 收藏本站
查看: 902|回复: 0

[经验分享] 读《零成本实现web性能测试 基于Apache jmeter 》笔记(一)

[复制链接]

尚未签到

发表于 2017-1-14 07:32:41 | 显示全部楼层 |阅读模式
第一.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目录下)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-328061-1-1.html 上篇帖子: New Apache project will Drill big data in near real time 下篇帖子: REASON: MISSING CONSTRAINT: IMPORT-PACKAGE: ORG.APACHE.FELIX.SERVICE.COMMAND; VE
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表