一、准备工作:
1、以虚拟机中的Linux系统作为服务器,开启bugfree服务。
2、以fiddler作为抓包工具,辅助脚本开发。
3、利用RegexTester辅助提取正则表达式。
3、脚本流程:bugfree登录--创建bug--解决bug。
二、脚本实现
1、添加线程组:在“测试计划”上点击鼠标右键-->添加-->threads(Users)-->线程组,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”。
2、在“线程组”里添加“HTTP 请求”的Sampler
3、在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一起发送的参数列表:
4、添加响应断言
在这里,有一个细节需注意:
Bugfree登录请求后是跟随重定向链接的,而重定向链接生成了部分新的cookie值,并覆盖了登录请求的cookie值,在后续操作(新建缺陷)中使用的cookie值便与登录请求的cookie值不一致,导致后续操作失败。
解决方案如下:
建立HTTP Cookie管理器;
这样,便使得cookie管理器后的请求统一使用一个phpSESSID值。
5、添加关联
1)在新建缺陷请求后添加正则表达式提取器,以捕获缺陷新建后生成的bugID;
正则表达式各项目简介:
名称:正则表达式提取器的名称,自定义,一般用不到
引用名称:匹配结果的参数名称,自定义,需要后续引用
正则表达式:填写对应的正则表达式就ok
模板:正则表达式的组,对应后文正则表达式测试器结果中的列
匹配数字:当匹配到多个值,取第几个(0代表随机,-1代表全部,正整数代表顺序取第几个值,对应正则表达式测试器结果中的行)
缺省值:如果没有匹配到结果,则获取缺省值
2)在解决缺陷中,传入bugID;
${bugID}替换具体数值
3)可以使用正则表达式测试器进行辅助
4)添加Debug Sampler,方便查看正则表达式提取器是否提取到正确的结果;
6、添加监听器查看运行结果
在结果树中可看到正则表达式提取器的提取结果: