软件测试攻略(十五):Jmeter进阶_响应断言、参数化

一、http协议补充

  1. http的请求方法常用有两种,get和post
    主要区别如下:


    image.png
  2. 协议类型http和https的区别


    image.png
  3. 状态响应码


    image.png

这个阶段,知道即可,不做深入了解。

二、Jmeter响应断言

Jmeter的断言很多,我们先说一下响应断言。
一个http请求发出去,如何判断他是否执行成功呢。我们可以通过检查服务器响应数据,是否返回预期想要的数据,如果是,判断任务成功,反之任务失败。一次测试几十,几百条的测试用例,每一条独个去看效率多么低下。所以,要用到响应断言。

  • 选中一个取样器:添加-断言-响应断言


    image.png

    image.png

    apply to :像单个服务器发请求,选择main sample only即可。
    要测试的响应字段:从我们的响应文本里进行校验,故选择响应文本。
    匹配规则:勾选“包括”,意味着只要相应数据中包含要校验的字段,任务就算成功。
    要测试的模式:即需要校验的数据值。

  • 之所以“要测试的模式”选的是“学生查询”的字样,是因为登录成功后跳转到的页面有“学生查询”的字样,故把它作为登录成功的校验字段。


    image.png
  • 如果账号密码不正确,就会登录失败,登录失败还是停留在登录页面。断言的校验字段还是学生查询,就会显示红色。


    image.png
  • 一个http请求,就是一条测试用例,有步骤,还要有预期结果,断言就是设置预期结果,与预期结果一致就是绿色,与预期结果不一致就是红色。这样,就能对于不一致的结果一目了然。

三、Jmeter参数化

  1. 用户自定义变量
    (1)固定值
  • 添加方法:添加-配置元件-用户自定义变量。
  • 我们可以从察看结果树里看到post data。把用户名、密码、验证码都设置为变量。


    image.png

    image.png
  • 设置好变量名和变量值之后,就可以在http请求的body data里面用${变量名}调用变量


    image.png

    (2)随机函数生成

  • 上面的方法只能是固定值的变量,但是我们经常会需要一些不能重复的数据,比如测试注册接口时,只能使用一次,再次使用时会因用户名已被注册了而报错。
  • 生成方法:选项-函数助手对话框-RandomString(随机字符函数)


    image.png
  • 复制生成的函数后,修改相应的变量值


    image.png
  • 之后每跑一次,用户名都随机生成一个符合要求的字符串。
  • 如果用户自定义变量放在线程组之上,那作用于全局,如果放在线程组内,作用于局部(类似于全局变量、局部变量)


    image.png
  1. 配置元件(CSV Data Set Config)
    CSV Data Set Config被用来从文件中读取数据,并将它们分割存储到变量中,适合处理多变量。如:登录,在文本文档内把用户名和密码参数化,执行操作时,会自动循环读取文本里的用户名和密码。
  • 新建一个CSV文档(可用excel,最后另存为.CSV文件)
  • 添加-配置元件-CSV Data Set Config


    image.png

    image.png
  • 按CSV的变量名修改


    image.png
  • 响应断言也改为变量形式


    image.png

四、循环

使用上述配置元件进行参数化后,我们看到无论写了多少条,它只跑了第一条,所以这里要讲到循环。

  1. 循环控制器
  • 添加-逻辑控制器-循环控制器


    image.png
  • 把http请求和CSV配置元件放在循环控制器内部


    image.png
  • 修改循环次数,因为我们CSV文件只写了两条,所以我填了循环次数是2,两条用例各跑一次。


    image.png
  • 察看结果树
    第一条:


    image.png

    第二条:


    image.png
  1. 线程组循环
    暂时未应用,简单一提。整个线程组进行循环。


    image.png

五、调试工具:Debug Sampler

使用Jmeter开发脚本时,难免需要调试,这时可以使用Jmeter的Debug Sampler。


image.png

image.png

思考:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容