汕头网站建设哪家好,用jsp做网站需要的知识,杨浦区公司网站建设,最好用的导航软件是哪一个JMETER工具#xff1a;以录制手机app为例子
JMETER安装和环境配置
pc需要安装jdk#xff0c;并进行jdk的环境配置#xff0c;安装好jdk并配置好后#xff0c;通过命令行输入java –version出现以下界面就表示安装成功#xff1a; #xff08;对应的jdk版本不可太低以录制手机app为例子
JMETER安装和环境配置
pc需要安装jdk并进行jdk的环境配置安装好jdk并配置好后通过命令行输入java –version出现以下界面就表示安装成功 对应的jdk版本不可太低一般jmeter3.0的对应jdk1.7jmeter4.0对应jdk1.8以上否者启用jmeter也会报错。 拿到jmeter压缩包后解压解压之后记住解压的位置然后配置jmeter环境变量
计算机----右键属性----高级系统设置----高级----环境变量新建系统变量
变量名JMETER_HOME 变量值JMETER的解压地址我的地址为 D:\project\apache-jmeter-4.0 3编辑系统变量CLASSPATH
变量名CLASSPATH 变量值在原来的后面添加 ;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar 启动JMETER
找到Jmeter解压路径下的bin文件中的jmeter.bat 文件双击此时会弹出两个界面一个是命令窗口一个是JMeter窗口意味着JMeter已经安装成功了。如下图所示 界面改为中文 录制手机app脚本
先这样 再这样 配置http代理服务器Global Settings下面的端口配置8887端口自定义随便输HTTPS Domains配置192.168.30.239本机IP目标控制器配置测试计划线程组 手机上的设置
手机连接到与pc端同一个的网络中在手机网络设置上面设置代理服务器为手动主机名为pc的IP地址192.168.10.115端口为同一个端口8887把pc端JMETER文件中bin文件中的证书文件安装到手机上 http代理服务器—启动—OK 启动成功开始录制 在手机上进行app操作便可以在线程组下看到一些文件这些文件便是抓到的请求。在手机app操作结束后一定要停止http代理服务器否则会一直抓包线程组中便会出现许多无用的请求。 例如我在手机浏览器上百度了我自己的名字 优化脚本
录制脚本前HTTP代理服务器--选择requestes Filtering—选择排除模式—点击add suggested Excludes添加建议排除 录制脚本后
没有传递任何数据的请求可以禁用掉与目标网站无关域名请求可以禁用掉js/css/png/jpeg等这类请求禁用掉 脚本参数化
以下举一些简单例子 1利用Csv数据文件设置文档进行s-47脚本的参数化 新建txt文件进行导入设置变量名为word Txt文件为 在以下脚本中设置变量此脚本为打开手机上的百度浏览器进行输入搜索word的值为输入搜索的值这里导入了txt文件进行设置需要用到 ${ 变量 } 的格式来进行设置参数在这里由于csv的变量为word所以这里的值为 ${word}这样脚本便可以对txt中的值进行输入搜索 接下来在线程组中设置循环次数为5次因为txt中有5个值 选择察看结果树点击运行可以看到录制的脚本运行了5次分别查看5次s-47脚本的响应结果完成了对zhihu、douyu、huya、pantum、china分别进行了搜索 2.利用函数助手进行参数化 s-41脚本为打开浏览器进行输入搜索。打开函数助手后选择一个随机生成数字函数随机生成1-9之间的数字点击生成生成一个字符串复制到s-41脚本参数设置中修改脚本参数中的word的值为这个字符串 线程组设置循坏5次察看结果树点击运行每次脚本运行都相当于在浏览器中输入一个随机生成的1-9之间的数字然后进行搜索。图中为在浏览器中输入4进行搜索 脚本回放/测试结果查看
查看测试结果:
添加监听器察看结果树和聚合报告查看测试结果 1察看结果树以树形结构展示每个接口请求的测试结果红色代表失败绿色代表成功 2聚合报告接口响应时间、吞吐量、通过率等 脚本联调与回放
1、回放脚本查看脚本是否跑成功(如何去定义这个脚本是否成功查看结果树还是app结果)
2、回放不成功查看每个请求的参数那些是我们手动填写那些不是
3、从包含非手动填写数据的请求的前几个请求的返回结果里找数据为何
4、利用正则表达式或JSONPATH正则表达式去获取数据并传递给第二步的请求参数
5、多次回放多次修改并联调直至脚本顺利通过 Jmeter抓包出现乱码问题
Jmeter在抓取app请求时抓取到的数据出现乱码解决方案有常见以下2种
修改JMeterbin文件夹下的jmeter.properties文件修改以下字段将sampleresult.default.encoding字段修改为UTF-8.修改后重新启动JMeter 增加后置处理器Bean Shell PostProcessor添加代码prev.setDataEncodingutf-8 app接口测试
使用工具 Fiddler、Jmeter
测试步骤
1.确认接口 从开发人员那里获取接口文档接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。 如果当前项目没有接口文档则可以使用fiddler对APP进行抓包确认。 在手机上对APP进行操作然后在Fiddler中可以抓取对应的网络交互信息一个功能中可能设计多个接口的交互。在抓取的信息中可以看到接口请求方式、接口请求URL、接口请求参数、接口返回参数。
2.在Jmeter中编写测试脚本
1在测试计划中添加一个线程组。
可以将线程组的名称改成测试项目的名称。 在性能测试时可以通过配置线程属性中的参数来控制并发用户数
线程数虚拟用户数即并发数一个线程表示一个虚拟用户
Ramp-Up 时间所有线程启动的时间单位s。通过这个参数可以设置每个线程间的启动间隔防止给电脑造成太大性能压力
循环次数测试循环的次数如果勾选了“永远”那么所有线程会一直发送请求直到手动停止运行脚本
2在线程组中添加HTTP请求。
在Web服务器中填入请求服务器的地址和端口号
协议中填入HTTP请求的协议可以是http或https
在方法中选择HTTP请求的方法可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE
在路径中填入接口请求的URL
请求参数如果是GET方法的请求请求参数直接写在URL后面即可如果是POST的方法则需要在Body Data中填入包含请求参数的数据Body Data可以从Fiddler抓的包中获取将Fiddler抓取的到数据包中Inspectors-TextView中的数据复制到Body data中即可 3在线程组中添加HTTP信息头管理器进行配置 4添加监听器聚合报告和察看结果树 5添加响应断言
查看测试结果时我们会发现有时候网络侧返回数据不符合要求时Jmeter给出的结果仍是通过的。这时候我们需要通过断言来判断网络的返回数据是否符合要求。
比如我们可以添加一个断言来检查返回信息中是否包含关键字“errMsg”来判断错误信息
首先添加一个相应断言在要测试的响应字段中选择响应文本在模式匹配规则中选择包括勾选否在要测试的模式中添加提一条输入关键字“errMsg”
意思是检查网络返回结果中不包含“errMsg”的才会判定为通过。
另外我们还可以从监听器中添加一个断言结果在断言结果中可以查看断言的详细返回信息。 参考【小说app实战】fiddlerjmeter的实战和进阶用法_哔哩哔哩_bilibili