
系统提供的web计划里包含哪些组件?
线程组
--HTTP请求默认值
--HTTP cookies管理器
--HTTP 信息头管理器
--HTTP请求
----响应断言
--测试活动
----统一随机定时器
--HTTP 请求
----响应断言
--查看结果树
day4,day5
使用jmeter完成一个简单的接口测试,并且进行断言(熟悉 *** 作),即访问www.baidu.com,并测试返回结果中包含文字“”百度一下“”
1.单击 文件--新建,创建了一个测试计划
2.在测试计划上右击--添加-线程(用户)-线程组
3.在线程组上右击-添加--取样器--HTTP请求
4.在线程组上右击-添加-监听器-查看结果树,断言结果(分别点击这两项)
5.在HTTP请求上右击-添加-断言-响应断言
6.在HTTP请求页面中的协议:http,服务器名称或IP:www.baidu.com
7.在响应断言 页面中,选择 测试字段 为响应文本,模式匹配规则 为 字符串 ,测试模式 添加文字:百度一下
8.点击绿色的三角形 运行,这时如果没有保存 会d出 一个提示框问你是否要保存,这时点击YES
点击运行成功后,点击 查看结果树,是红色的叉叉,请求成功,但是断言失败了
分析原因:
既然是断言失败了,问题就出在请求的响应信息,我们先去检查响应信息,发现里面有乱码
现在的问题是如何解决乱码,解决方案有两个:
一 添加BeanShell PostProcessor
1. 在 线程组 右击--添加-后置处理器-BeanShell PostProcessor
2.在该页面中的script中增加 prev.setDataEncoding("utf-8")
3.保存后,点击绿色三角运行
4.查看结果树,这时是绿色通过的,接口测试完成
二 修改jmeter配置文件
1进入Jmeter的bin目录下,找到jmeter.properties文件,以文本形式打开
2 ctrl+F 输入sampleresult.default.encoding,找到这一行
3默认这行是注释的,将ISO-8859-1修改成utf-8,去掉注释符号,重启Jmeter
4.再次请求时会发现响应中不会有乱码了。
信号量如何通过jemeter进行测试方法如下:1、进入jmeter可视化界面,测试计划处添加---线程--线程组,测试计划可以按照自己实际需要起项目名字,且线程组的名字也可根据需要自由取定。
2、在刚才添加的线程组上面鼠标右键添加--取样器--HTTP请求,创建一个HTTP请求信息。
3、设置HTTP请求信息,协议根据所测试系统确定为http/https,服务器名称或ip处可以填写请求接口的域名或者请求ip,请求方法可以根据具体请求接口的方式确定,这里使用post请求,路径即为接口路径,消息体数据采用json格式,在这里的接口是一个上传文件的接口,则参数在文件上传中配置。
4、HTTP请求(即本例中的登录接口上)上鼠标右键:添加---配置原件--HTTP信息头管理器。创建信息头管理器,编辑RequestHeaders。
5、HTTP请求(即本例中的登录接口上)上鼠标右键:添加---监听器--查看结果树。查看结果树,显示绿色则证明接口请求成功,即response_code为200,不能保证返回的请求的数据是否正确,这就要通过断言进行判断。
6、Htpp请求(即本例中的登录接口上)上鼠标右键:添加---断言--响应断言,测试字段的设置可以根据具体的请求或者返回的报文选择在何处设置断言,模式匹配规则可根据所设置断言的测试模式,自主选择匹配规则。博主这里选择为包括,测试模式设置为response中成功状态的响应码。
7、此处可以故意在测试模式中设置错误的断言,例如设置"retCode":"11111",实际返回结果是"retCode":"000000",可以看到查看结果树中接口返回错误,断言生效。以上为利用Jmeter完成一次简单的http接口post请求的测试。
路径:右键http请求-添加-断言-BeanShell断言
基本与java类似 写法没有java这么严谨
参考例子:获取返回json中数组的长度 (用于查询接口返回的具体数据条数)
参考例子:使用beanshell断言 判断布尔类型数据
参考例子:使用beanshell断言 判断String类型数据
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)