jmeter 使用cookie和jdbc获取注册 验证码

来源:互联网 发布:淘宝上开网店步骤 编辑:程序博客网 时间:2024/06/05 19:23

问题:

用jmeter批量注册新账号,注册时有验证码。


方法:

  1. 让开发禁用注册码,或在测试环境写个固定的验证码;
  2. 在jmeter中用cookie jdbc获取数据库中验证码
思路:
  1. 观察发现,每次调用注册接口 /xxx/captcha?type=register ,cookies中response cookies中有个pcaptcha ,value是个数字串;经过确认,该数字串是验证码表里的id
  2. jmeter中使用cookie管理器获取pcaptcha 的value值
  3. jmeter中使用jdbc链接和jdbc request查询数据库,获取验证码字段
  4. 正则表达式提取验证码

步骤:

  1. 浏览器中查看接口调用时cookie ,找到验证码字段 pcaptcha
  2. 使用cookie获取pcaptcha的值
    1. 修改jmeter.properties文件,CookieManager.save.cookies=true并设置为true
    2. 接口请求中添加cookie管理器,管理器中添加要提取的字段
  3. 添加jdbc connection configration,细节可 百度,(记得测试计划添加mysql驱动路径)
  4. 在请求接口后添加jdbc request ,${COOKIE_pcaptcha} 为获取到的cookie中数字串(id),variable name 与jdbc connection configuration中保持一致
  5. 正则表达式提取器提取验证码字符串
  6. 验证一下获取到的验证码和数据库查询的是否一致
    1. 数据库查询结果为两行,第一行字段名称,第二行验证码,提取正则 code\s(.+?)\s