建网站是什么专业类别,海洋高端的专业做网站,都匀网站,推进门户网站建设方案JMeter工具基础使用 JMeter的三个重要组件线程组HTTP请求查看结果树 JMeter参数化用户定义的变量用户参数CSV数据文件设置函数四种参数化方式的不同 JMeter断言JMeter关联正则表达式XPath提取器JSON提取器 JMeter属性JMeter录制脚本JMeter直连数据库JMeter逻辑控制器JMeter定时… JMeter工具基础使用 JMeter的三个重要组件线程组HTTP请求查看结果树 JMeter参数化用户定义的变量用户参数CSV数据文件设置函数四种参数化方式的不同 JMeter断言JMeter关联正则表达式XPath提取器JSON提取器 JMeter属性JMeter录制脚本JMeter直连数据库JMeter逻辑控制器JMeter定时器 JMeter环境搭建 JMeter的三个重要组件
线程组
作用控制JMeter用于执行测试的一组用户
分类
Setup线程组预测试操作所有脚本之前执行线程组执行测试用例的Teardown线程组所有脚本之后执行
位置测试计划——添加——线程用户——线程组
属性
线程数虚拟用户数Ramp-Up时间全部虚拟用户启动需要的时间循环次数指定运行次数选中“永远”后一直执行 调度器配合“永远”使用。 Ps线程数为2循环次数为3与线程数为3循环次数为2的区别 线程数表示虚拟用户数用户数越多负载越大循环次数代表运行时间次数越多运行时间越长 HTTP请求
作用向服务器发送http及https请求
位置线程组——添加——取样器——HTTP请求
属性
协议默认为HTTPHTTPS服务器名称或IPIP地址HTTP请求GET或POST请求路径URL端口后面的部分参数get方法中URL路径中传参/?键名键值键名键值消息体数据POST方法中请求体中传参数直接在消息体数据中添加请求体任意格式from、json
查看结果树
作用在查看结果树中点击运行可以查看请求参数和响应结果
位置线程组——添加——监听器——查看结果树
JMeter参数化 参数化把测试数据组织起来用不同的测试数据调用相同的测试方法 用户定义的变量
场景定义全局变量
位置线程组——添加——配置元件——用户定义的变量
使用方法
添加用户定义的变量格式变量名 - 变量值
在HTTP请求中引用定义的变量名。格式${变量名}用户参数
场景针对同一组参数不同用户访问时可以获取到不同的值
位置线程组——添加——前置处理器——用户参数
使用方法
第一列添加多个变量名后续每一列为一组用户的数据
在HTTP请求中引用定义的变量名。格式${变量名}CSV数据文件设置
场景当不同用户或者同一用户多次循环时都可以获取到不同的值
位置线程组——添加——配置元件——CSV数据文件设置
使用方法
准备好CSV数据文件文件名处为文件路径
变量名称自定义
在HTTP请求中引用自定义的变量名。格式${变量名}函数
场景相当于计数函数自动生成不重复的数据让每个用户每次循环都能取到不同的值且不需要提取定义
位置菜单栏中的工具——函数助手对话框——选择counter函数——选择计数器方式——点击生成——复制函数
使用方法
在HTTP请求中使用counter函数。格式${__counter(FALSE,)}四种参数化方式的不同
用户定义的变量:
作用:定义全局变量局限性:每次取值(无论是否相同的用户) 都是固定值
用户参数:
作用:保证不同的用户针对同一组参数可以取到不同的值局限性:同一个用户在多次循环时取到相同的值
csv数据文件设置:
作用:保证不同的用户及同一用户多次循环时都可以取到不同的值局限性:需要手动进行测试数据的设置
函数
作用:保证不同的用户及多次循时都可以取到不同的值不需要提前设置局限性:输入数据有特定的业务要求时无法使用(如:登录时的用户名密码) PS查看结果树看到的发送消息和HTTP取样器配置不完全一样的原因 查看结果树中最外层HTTP请求的 请求信息和响应信息应该与子节点中最后一个HTTP请求的请求信息和响应信息一致配置的HTTP请求因该与子结点中第一个请求的请求信息一致 利用JMeter测试的一个具体用例找一个跟着学一下不然真的不会不知道在干嘛怎么用 JMeter断言 让程序自动判断预期结果和实际结果是否一致 JMeter在请求的返回层有一个自动判断机制响应状态码但是请求成功了并不代表结果一定正确需要检测机制提高测试准确性。 响应断言 位置HTTP请求——断言——响应断言场景对HTTP请求任意格式的响应结果进行断言 JSON断言 位置HTTP请求——断言——JSON断言JSON路径 . w e a t h e r i n f o . c i t y .weatherinfo.city .weatherinfo.city.为根目录.对目录进行分割场景对HTTP请求格式为JSON格式的响应结果进行断言 持续时间断言 位置HTTP请求——断言——持续时间断言作用检查HTTP请求的响应时间是否超出要求范围
JMeter关联 当请求之间有依赖关系的时候需要用到关联处理。如一个请求的入参是另一个请求返回的数据。 正则表达式
公式格式左边界(匹配符)右边界 .通配符可以代表任意字符换行回车除外 *表示前面的字符出现0次或多次 ?: 表示非贪婪匹配找到左边界后往右查找右边界查到匹配的右边界就停止继续查找再次查找左边界和右边界 正则表达式提取器位置HTTP请求——后置处理器——正则表达式提取器
参数
引用名称存放提取出的值的参数名称
模板用$$引用起来表示解析出的第几个正则表达式(.*?)中的值
匹配数字1表示第一个值0表示随意一个值-1表示获取所有值XPath提取器
位置HTTP请求-后置处理器-XPath提取器
JSON提取器
位置HTTP请求-后置处理器-JSON提取器
JMeter属性 用于不同线程组之间的参数获取 setProperty函数将值保存成JMeter属性property函数在其他线程组中使用property函数读取属性使用步骤 添加线程组1 添加HTTP请求——添加JSON提取器使用setProperty函数保存JSON中的值添加BeanShell取样器在脚本中添加JMeter属性${__setProperty(pro_city,${city},)} 添加线程组2 添加HTTP请求——使用property函数读取JMeter属性${__property(pro_city,)}
JMeter录制脚本
作用在没有接口文档的旧项目中快速录制web页面产生的HTTP接口请求帮助编写接口测试脚本位置测试计划(右键)-非测试元件-HTTP代理服务器
JMeter直连数据库
使用场景
用作请求的参数化登录时需要的用户名可以从数据库中查询获取用作结果的断言添加购物车下订单检查接口返回的订单号是否与数据库中生成的订单号一致清理垃圾数据添加商品再执行该脚本不能成功需要在下次执行前删除该商品数据准备测试数据通过数据库准备大量的性能测试数据
JMeter逻辑控制器 位置线程组-逻辑控制器-IF控制器/循环控制器/ForEach控制器 IF控制器控制它下面的测试元素是否运行循环控制器通过设置循环次数实现循环发送请求ForEach控制器一般和用户自定义变量或者正则表达式提取器一起使用读取返回结果中一系列相关的变量
JMeter定时器
同步定时器阻塞线程当在规定时间内达到一定的线程数量这些线程会在同一个时间点一起释放瞬间产生很大压力。 超时时间超市多少毫秒后同时释放指定的线程数。0表示定时器会等待线程数达到了设置的线程数才释放若没有达到则会一直死等。 常数吞吐量定时器 QPS单位为次/s而该定时器参数是次/m因此需要注意时间的换算 固定定时器 定时器的作用也需要后面遇到具体的项目来做才能明白其作用