• 用户定义的变量+HTTP Cookie 管理器组合实现接口关联+问题处理


    用户定义的变量+HTTP Cookie 管理器组合实现接口关联+问题处理

    1、实例对象:手机蜜罐产品(http://192.168.65.61

    2、实例接口:

          用户登录:    post       /login/

          用户登出:     get        /logout/

          获取所有用户:     get     /user/

    3、用户定义的变量组件设置:   

     

    4、添加HTTP Cookie 管理器设置

         ① 添加HTTP Cookie 管理器后,Jmeter会自动记录并保存服务端返回的cookie信息,并且在后面所有请求中自动添加cookie。每个线程的cookie都是独立的。

    (注意跨域的cookie默认是不会自动管理的,可以修改Jmeter属性”CookieManager.check.cookies=false”) 

         ② 手动添加cookie信息:遇到没法自动获取的cookie就只能手动添加了,但注意手动添加的cookie会被所有线程共用的 
         ③ 一个测试计划内最好只有一个HTTP Cookie 管理器,因为Jmeter是无法指定使用某一个Cookie 管理器的;另外,如果Cookie名称有重复的话,前面的会被后面的替代。

    5、添加http 信息头管理器

         通过浏览器的开发模式或者抓包工具fiddler获取创建的请求的header

    6、手动创建请求

         按照已有接口文档填写请求内容(包括端口,请求方式,路径,参数)

    • 端口和参数可能为空
    • 有的post请求参数不可直接添加,需要以json格式脚本输入,因为不同系统后台数据处理方式可能不同

     7、添加查看结果树

           运行并查看请求状态

    8、问题处理

    • 问题描述:  

               按照上述方法运行脚本,但查看结果树中显示的结果总是第一个通过,然后每间隔一个请求便失败一个,即若有4个请求,则1,3成功,2,4失败,

         并且失败的请求返回的错误提示均为下图所示

        

    • 解决方式:

              通过抓包工具fiddler抓取目标web请求数据,并保存到本地,再导入jemter中运行,发现抓包数据可正常运行通过。经反复对比和假设求证,

        得出以下问题有3个因素导致,即

         ① 请求路径不同(接口文档与实际接口不一致导致)

         ② 目标web不需要端口,但随意填写了一个端口

         ③ 一个测试计划下有多个线程,其他线程添加了全局http请求默认值组件,组件内容影响了测试线程

    • 解决结果:

              将上述3个因素均修改后,脚本运行成功。

    • 遗留问题:

              通过http代理服务器录制手机蜜罐web,可打开登录页面,也可录制到登录接口,但无法登陆,账号密码正常的情况下仍报“用户名或密码错误,请重试!”

        关闭代理服务器后可正常访问。

  • 相关阅读:
    神盾局第4季
    PAT 1053. Path of Equal Weight (30)
    PAT 1052. Linked List Sorting (25)
    PAT 1051. Pop Sequence (25)
    PAT-1049. Counting Ones (30)
    PAT-1047. Student List for Course (25)
    PAT 1045. Favorite Color Stripe (30)
    每日编程-20170308
    技术博客的第一篇文章
    《C语言》while语句和dowhie语句(7)
  • 原文地址:https://www.cnblogs.com/xinxinyo/p/10395065.html
Copyright © 2020-2023  润新知