前言有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面。 场景案例我这里有个django项目的admin后台页面为案例 输入账号和密码登录成功后,抓包发现除了账号和密码参数,还有一个参数csrfmiddlewaretoken,并且这个参数每次都是动态的,不是固定值 所以在请求这个login接口的时候,需要先获取csrfmiddlewaretoken参数,那么这个参数哪来的呢? csrfmiddlewaretoken是每次在浏览器上打开登录首页的时候,会自动生成一个隐藏(hidden)的参数csrfmiddlewaretoken 那么接下来就先把这个值提取出来 获取csrfmiddlewaretoken先访问首页http://127.0.0.1:9000/admin/ 保证返回的结果里面能看到csrfmiddlewaretoken对应的值 返回的结果里面有了这个值后,接下来用 XPath 提取器提取出来 XPath 提取器后置处理器添加 XPath 提取器 使用 xpath 表达式提取html页面数据,先在谷歌浏览器上定位调试,保证能正确定位到 用 XPath 表达式提取 XPath 表达式提取参数说明:
APPly to:作用范围(返回内容的断言范围)
参数关联登录请求fiddler抓包参数如下 jmeter照着写请求参数就可以了,csrfmiddlewaretoken对应的值使用上面一步提取出来的变量${csrftoken} 添加头部管理器,参数类型为:Content-Type: application/x-www-form-urlencoded 查看结果查看请求结果,从结果里面可以看出csrfmiddlewaretoken这个值已经传过来了 最后的结果失败403 Forbidden,是因为缺少cookies,无权限访问 关于cookies的管理器后面再讲 2020第二期《python接口+测试开发》课程,12月15号开学!本期上课时间:12月15号-3月29号,每周六、周日晚上20:30-22:30 |
|