zoukankan      html  css  js  c++  java
  • JMeter接口测试-常用配置

    1.添加CSV Data Set Config可以实现每次调用API传不用的参数

       准备测试数据,保存在txt或者CSV文件里

     

    需要参数化的变量用${变量名}替换

    2.函数助手,可用于生成GUID,随机数等

     

     

     

    例如最小值输入1,最大值输入100,用${__Random(1,100,)}替换变量,调用API时,被替换的变量每次会取(1,100)内的随机数

    3.Jmeter关联参数,例如把接口1返回的access token值取出来后调用接口2,下面介绍正则表达式提取参数值

        HTTP请求1->添加->后置处理器->正则表达式提取器

    举例:接口1提取access_token

     引用名称:自己定义的,这里注意下,不管提取一个还是多个值,引用名称都只能定义1个

    正则表达式:

    ()表示括起来的部分就是要提取的

    .表示匹配除换行外的任何字符串

    +表示代表+号前面的字符必须至少出现一次(一次或多次)

    ?表示前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)

    (.*)表示贪婪模式,匹配尽可能多的字符

    (.*?)或(.+?)表示匹配尽可能少的字符,一旦匹配到第一个就不往下走了

    模板:若提取一个值,模板写成$1$;提取两个值,写成$1$$2$;提取多个值,通用模板:$1$$2$...$n$ (n大于等于3)

    匹配数字:表示取响应数据里匹配到的第几个值,有的API可能会返回多个命名相同的值,0代表随机取,1代表取第一个,2代表取第二个,以此类推

    缺省值:如果参数没有取到值,那默认给一个值让它取

    提取一个参数值,引用的地方用${引用名称}替换

    提取多个参数值,例如从name = "file.name" value = "readme.txt"中提取file.name和readme.txt,正则表达式:name = "(.+?)" value = "(.+?)"

      假设:

        引用名称:MYREF

        模板:$1$$2$

      如下变量的值将会被设定:

        MYREF:      file.namereadme.txt

        MYREF_g0:  name = "file.name"value = "readme.txt"

        MYREF_g1:  file.name

        MYREF_g2:  readme.txt

      在需要引用的地方可以用${MYREF},${MYREF_g0},${MYREF_g1},${MYREF_g2}进行使用

    接口2引用access_token

    点击启动按钮运行,检查结果树,发现http请求2中的access_token值等于http请求1响应数据里的access_token值,说明取值成功了

     

    补充:在结果树里选中http请求1,选择RegExp Tester模板,输入正则表达式,点击Test按钮,可以检查正则表达式匹配是否正确

    4.响应断言,用于检查响应数据是否符合预期

    http请求->添加->断言->响应断言

    例如我期望http请求1的返回结果里包含access_token

     

    点击启动按钮运行,查看结果树,绿色表示断言验证通过

    假设我在响应断言里输入123,运行后查看结果树,响应断言验证失败

  • 相关阅读:
    Java如何实现跨平台
    什么是软件开发工具包(SDK)
    什么是编程语言
    Java Hello World源代码notepad++版
    win10安装JDK
    JDK安装与配置(Windows 7系统)
    Eclipse安装与使用
    Eclipse Neon 汉化
    Eclipse Neon安装指导
    使用Sql语句快速将数据表转换成实体类
  • 原文地址:https://www.cnblogs.com/jiangjunyong/p/14216611.html
Copyright © 2011-2022 走看看