问题列表
•在项目中如何用jmeter进行http接口测试?
•Jmeter 常用元件有哪些?
•jmeter 如何管理cookie和session信息?
•jmeter中如何实现关联?•jmeter中断言方式?
•jmeter参数化的方式有哪几种可以实现?
•Jmeter怎么录制,怎么过滤?
•JMeter结果树响应数据中文乱码如何解决?
•用户定义的变量和用户参数的区别?
•Jmeter 怎么实现持续集成测试?
在项目中如何用jmeter进行http接口测试?(重点)
•在Jmeter 安装目录bin
中,找到jmeter.bat
,点击启动。
•Jmeter 主界面,右键“测试计划” -> “添加” -> "Threads(Users)" -> “线程组”, 建立线程组。
•右键“线程组” -> “添加” -> “Sample” -> “HTTP请求”
•在http请求界面,输入“服务器名称或IP”,对应的端口号,http默认端口号80,可以不写。请求为GET, 所有“方法”那选择“GET”, 输入对应的路径,添加参数及值
•添加对应断言
•右键“线程组” -> “添加” -> “监听器” -> “察看结果数”, 添加“察看结果数”, 以察看运行后的结果。
•点击Jmeter主界面的运行按钮,运行,查看运行结果
Jmeter 常用元件有哪些?
•配置元件 •前置处理器 •定时器 •取样器 •后置处理器 •断言 •监听器 •函数 •控制器
jmeter 如何管理cookie和session信息?
•“线程组”->“添加”->“配置元件”->“HTTP cookie管理器”
jmeter中常用关联方式?(重点)
提取方式:
•Json Extractor提取器提取数据,保存到变量•正则表达式提取数据,保存到变量•在BeanShell中我们可以使用java代码处理正则提取出来的内容,保存为变量,方便以后调用
使用:
•通过${变量名}去获取
jmeter中断言方式?(重点)
•响应断言 •断言持续时间 •JSON断言 •XPath断言 •Bean Shell断言
jmeter参数化的方式有哪几种可以实现?(重点)
•通过函数助手来实现参数化,比如 _RandomString
随机函数; •通过CSV读取文档数据实现参数化 •通过配置元件、用户定义的变量来实现参数化 •通过前置处理器中的用户参数也可以实现参数化 •通过前置处理器 Bean shell
自定义参数
Jmeter怎么录制,怎么过滤?
•jmeter可以使用第三方的录制工具(badboy)或者使用自身的软件的录制功能进行 •jmeter录制原理:是通过代理http服务器抓取用户操作网站过程中的链接。 •jmeter可以在设置http代理服务器的时候,过滤掉不需要的css、gif等内容
具体操作:
•在测试计划里添加线程组•在测试计划里添加非测试元件的HTTP代理服务器•配置代理服务器-----端口可以设置成8888,把目标控制器选成测试计划 > 线程组,这样做的目的是录制的脚本直接生成在线程组下面,然后设置Requests Filtering(请求过滤器),若想排除一些我们不需要的东西,则可以点击添加建议排除,但这个也只能排除大部分的,小部分的还是排除不了。•启动代理服务器•打开浏览器,对浏览器进行设置,设置对应的代理信息-----地址:127.0.0.1,端口:8888,保存•访问需要录制的网站•查看线程组,可看到下面录制的脚本在增加
JMeter结果树响应数据中文乱码如何解决?(重点)
•找到jmeter.properties文件,搜索“encoding”关键字,找 到 #sampleresult.default.encoding=ISO-8859-1
•将注释删掉,并改成utf-8编码,sampleresult.default.encoding=utf-8
•重启Jmeter即可
Jmeter 用户定义的变量和用户参数的区别?
•用户定义的变量,在启动运行时获取一次值,在运行过程中,不再动态获取值 •用户参数在启动时获取一次值,在运行过程中,每次使用该参数都会动态获取一次值。
Jmeter 怎么实现持续集成测试?(重点)
•通过 jmeter+ant+jenkins 实现(具体实现可以百度)