Jmeter UI介绍
打开Jmeter后,我们可以把界面分成3个部分。
Jmeter脚本录制
2.1 Jmeter HTTP代理服务器录制脚本
操作步骤:
第一步:右键测试计划,添加 配置元件--http cookie管理器。
第二步:右键测试计划,添加 threads(Users)--线程组。
第三步:选择测试计划然后鼠标右键,选择非测试元件--http代理服务器(http proxy server)。
第四步:配置并且启动http代理服务器。
常用配置项:
端口:要求未被其它应用占用,一般不需要更改。可以通过命令netstat -an查看即可。
目标控制器:该选项是用来指定所录制的脚本的存放位置的。建议直接选择前面所添加的线程组。
过滤器:过滤器不使用是不会对录制造成任何影响,但是在接口测试和性能测试过程中,我们更多的关注的是后端,因此可以考虑不请求页面中的静态资源请求,对之进行过滤。
常见的静态资源有:js、css、各种图片资源,不想录制,则可以通过排除模式来进行设置。正则写法如下:
.*\.js.*|.*\.css.*|.*\.jpg.*|.*\.png.*|.*\.gif.*|.*\.bmp.*
第五步:配置客户端
正常情况下,我们的客户端都是直接和被测服务器通信的,需要通过配置才能使之通过代理去访问被测服务器。根据客户端平台的不同,分为两种情况:
PC端:先以windows为例,Win7以下通过IE选项来设置。
IE选项-连接-局域网设置,勾选启用局域网代理。
地址:填写的是代理服务器的地址,即启动jmeter的机器的IP。
端口:填写的是jmeter的http代理服务器组件中所设置的端口。
而对于Win10及以上的系统,代理设置在系统设置的网络设置中:
设置方法同IE设置方法。
移动设备:则要求移动设备和启动jmeter的代理的机器在同一个局域网,直接通过修改手机的wlan选项(高级)来实现。
第六步:在客户端执行要录制的操作。
第七步:停止代理服务器,还原客户端的代理设置。
注意事项:
一定要区分客户端、代理服务器和被测服务器。如果以上三个角色是一台电脑,切记不要使用localhost去访问,否则代理无效。在录制过程中,尽量将无关的网络应用进行关闭,否则可能会被录制。
根本的解决办法,学会通过所生成的请求中的服务器地址和路径去识别是否是有效的请求。过滤器的使用原则:可以不用,一旦使用,则要求准确。另外,停止录制之后,一定要记得第七步的操作(停止、还原)!
代理录制的优缺点:
优点:
缺点:
2.2 抓包手写
之前学习过抓包工具,我们也可以通过抓包获取相应的信息,然后手动填入Jmeter。这里以H5商城登录接口为例:
第一步:打开被测项目及抓包工具
第二步:找到被测项目的被测接口
因为此时需要测试的接口是登录,所以从抓包数据去找对应的信息即可;
第三步:从抓包工具中,找到对应接口的请求头、请求体信息
第四步:打开Jmeter,在测试计划中添加“HTTP Cookie管理器”,“HTTP信息头管理器”,再创建一个线程组,在线程组下新增一个HTTP请求的取样器,如图:
第五步:根据需要将抓包数据填入Jmeter
将headers数据复制,然后选择Jmeter中的HTTP信息头管理器,点“从剪切板复制”,再将一些没有必要的内容去掉,通常留下图内容即可(如有特殊需求,另外处理)
接着把请求内容复制到Jmeter中,并填写具体内容:
第六步:添加一个监听器“查看结果树”,接着运行脚本并查看结果。由于接口响应也是json格式的,可以在查看结果树种,改下默认显示方式为JSON。