zoukankan      html  css  js  c++  java
  • jmeter入门操作 = 接口

    1、没安装工具的朋友,不熟悉菜单插件使用的朋友,请先看:https://www.cnblogs.com/beile/p/11007754.html

    2、开始调用http请求

    测试地址:http://httpbin.org/

    新建一个线程组

     

    右键线程组,添加一个HTTP请求,用于发送请求,并把请求地址放进去,路径为请求地址的路径 ,不明白的可以把测试地址打开看下!

    右键HTTP请求,添加一个查看结果树,查看请求后的结果 ,并点击文件,保存本次测试

     

    添加后点击上面开始执行测试,向右绿色三角,得出测试结果,Text处多了一个请求,并且为绿色代表成功,点击它,查看取样器结果,Response code(响应码)为200,还可以看请求数据和响应数据

     

    Post和get请求有点区别,重新复制了一份,把请求名字后面加上请求类型,post请求成功后,大家可以对比看下 ,当然了,不是现在看 ,加了参数之后再看,其他方法请求类似

     

    设置断言,其他自己大家扩充,响应断言中模式匹配规则介绍下:

    包括:响应内容包括需要匹配的内容代表响应成功,支持正则

    匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,大小写不敏感,支持正则

    相等:响应内容要完全等于需要匹配的内容才代表成功,大小写敏感,需要匹配的内容是字符串正则

    字符串:返回结果包含制定结果的字串,不支持正则

    否:不进行匹配

    咱们测试输入的断言是包含这个字符串https://httpbin.org/get ,结果肯定是成功的,如果你在后面加个1 ,那就是失败了,因为请求的返回结果不包含,大家可以自己试下

    参数化,在HTTP请求  参数处增加参数值,进行请求

     

    分别为get和post请求添加上参数化,进行请求 ,在对比2个请求中的参数区别

    Get第二种请求,参数包含在路径中,字符要小写,如果多个参数,以&区分

    Post第二种请求 json格式

     

    在消息体数据里写json格式,一定要把参数删除掉,不然不能写 ,get第二种方法也是一样,不删会报错

    Post用json格式请求时,要增加一个HTTP信息头管理器,指定格式,以防报错,不增加也有可能不报错

     

    用户变量&函数变量

    Jmeter支持:自定义变量、函数生成变量、BeanShell变量、数据文件变量

     

    HTTP请求引用参数,和postman不一样,参数格式为${参数名}:

     

    用户参数:是对应当前请求的线程组下的全部请求,需要注意

    设置多个参数 ,并且把每次迭代更新一次勾上 。参数值变成2组,也需要再线程组的地方,把线程数改成2,说明我要跑2次,然后再查看一下结果树,会调用2次get请求,2组参数

     

    查看结果数:

     

    Jmeter自带一个函数生成器,Tools-函数助手对话框 。大家百度了解下,我现在选择的是随机生成一个数字 ,1-100范围 ,生成了一个函数

     

    把这个随机生成数字的函数放在密码参数的位置,进行请求,在结果树就会发现不同的参数

    BeanShell变量 ,是一种java语言的脚本语言,包含一些语法和脚本命令 ,有兴趣的可以多了解一下 ,主要是写java脚本处理请求

    常用的就是vars.put 添加变量   log.info 添加日志

     

    请求中参数名和beanshell里一样,参数名和值用逗号分隔,都是小写

     

    添加结果数,进行访问 ,日志在菜单栏   选项里查看

    创建一个新的HTTP请求,采用csv变量来请求

     

    Csv文件:

    参数之间逗号隔离

     

    CSV数据文件变量&参数化,推荐只用编译软件,nodepad或其他,文件编码格式为utf-8

     

    然后添加结果树,进行请求

    正则匹配,获取上一个接口的返回值作为下一个接口的请求值

    因为用户参数是整个线程组都可以优先使用的,所以大家可以把用户参数里的参数名改掉,或者删掉用户参数

    正则后期匹配需要,所以另外一个参数改名为num,更好辨认

     

    正则表达式提取器,引用名称用于下一个接口调用的参数名

    正则表达式自己网上可以看看,()代表提取的内容,.代表匹配任何字符串,+一次或者多次 ,?找到第一个匹配项就停止

    模板的话代表正则取到的有几个参数 ,写1就把第一个参数复制给名称

    匹配数据,0代表随机 ,1代表全部

    缺省值,如果参数没有取到值,就默认给一个值让他取

     

    新建一个HTTP请求,参数用正则匹配的参数,再创建结果树,进行调用

     

    用例数据分离。当请求数据太多的时候,页面不是太好管理,所以拿csv进行管理

    重新创建一个线程组 ,我已经创建完了,一个线程组,取名为数据驱动,在添加一个循环控制器,写几条用例就循环几次 ,我4条用例

     

    循环次数如果勾选,就会成为无限循环

     

    创建csv数据文件设置,因为文件有标头,所以首行忽略,选择True

     

    创建一个if控制器,用来分离用例,如果接口太多,会有不同请求,或者不同名,需要分类

     

    下面是条件,本次测试的条件为:接口类型参数 ,为GET

    创建请求 ,结果树 ,响应看情况创建 。请求中的名称和路径地址,用的都是csv中的参数化

  • 相关阅读:
    MJRefreshFooterView
    UIActionSheet
    UIAlertView带textField
    SIAlertView
    旋转 锚点
    centos7.2 Apache+PHP7.2+Mysql5.6环境搭建
    ubuntu16.04 mysql 开启远程连接
    Ubuntu16.04重新安装MySQL数据库
    Ubuntu16.04彻底卸载MySQL
    laravel框架基础(2)---laravel项目加载机制
  • 原文地址:https://www.cnblogs.com/beile/p/11007853.html
Copyright © 2011-2022 走看看