• day1


    接口测试基础

    一、接口测试

    接口测试就是功能测试,比ui测试还简单;

    接口说白就是从数据库查到数据,返回回来;

    一般接口返回的数据都是json格式;json是一种通用的数据类型;

    接口分类

    webservice接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的;

    http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式;

    前端和后端

    客户端和服务端

    越底层发现bug,它修复成本是越低的;

    get请求和post请求的区别

    get请求:它的请求数据是在放在url里面的;

    post请求:它的数据是放在body里面的;

    一般get请求用来获取数据,post请求用来发送数据;

    如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话,就不行了,就得借助工具来发送;

    cookie:存放在你本地的一个键值对,即key - value;

    session:存放在服务端的一个键值对;

    Http状态码

    200: 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了;

    300 :3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了;

    400 :400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面;

    500 :5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果;

    二、性能测试工具

    一、解决jmeter乱码问题

    1、修改jmeter查看结果树-响应数据乱码问题:

    在jmeter-bin目录下找到jmeter.properties文件,找到sampleresult.default.encoding这个之后在该注释行下添加如下:

    sampleresult.default.encoding=utf-8

    保存该文件,并重启jmeter,就可以解决jmeter返回解决乱码的问题。

     

    2、  jmeter中发送post请求,body data中包含中文信息显示乱码,解决body data中文乱码问题:

    在jmeter-bin目录下找到jmeter.properties文件,找到jsyntaxtextarea.font.family=Hack这个之后在该注释行下添加如下:

    jsyntaxtextarea.font.family=Hack

    保存该文件,重启jmeter即可。

     

    3、  在body data中显示的中文正确,但是运行之后在数据库中查看数据却是乱码,需要在请求处添加为utf-8即可。

     

    http接口脚本

    1、添加线程组
    2、添加http请求
    3、在http请求中写入接口url、路径、请求方式、参数
    4、添加查看结果树
    5、调用接口、查看返回值

    Jmeter参数化

    1、  用户定义的变量(线程组->添加配置元件->用户定义的变量)

    配置元件中的用户定义的变量可以为一个全局变量,可以在其他sample中调用;如果该变量中的值有变化可以在此修改,不用在sample中单个修改;

    该配置元件含义类似于配置元件中的http请求默认值,如果http请求默认值添加之后,后面的http请求中如果某些值没有填则直接使用该默认值,如果后面的http请求中如果填了某些值则优先使用后面http请求中的参数值。

    2、  函数助手里面的:

    __random(在选项->函数助手对话框中,选择__Random函数,可以生成一个随机变量参数,在后面的函数中进行调用,进行压测)

    __time    yyyyMMddHHmmdd时间的格式(此项是24小时制的)

    也可以使用__time函数生成一个随机数在其他请求中进行调用

    Jmeter里面取到的时间戳是精确到毫秒的;

    时间戳就是从计算机诞生那一天到现在过了多少秒;

    3、  文件里面读取

    默认不写绝对路径的话,是从jmeter的bin目录下读取文件;(此方法不建议使用,一般在没有办法的情况下才使用)

    文件里面可以写多列,多列以逗号隔开,参数名也要写多个以逗号隔开;

    Jmeter压测

    并发用户数

    Tps:服务端每秒处理的请求数,越大越好

    响应时间:越快越好

    jmeter压测可以通过聚合报告查看响应时间和tps;

    如果要进行压测,则需要在线程组上配置对应的线程数、循环次数、调度时间等。

    post请求他的数据是放在body里面的

  • 相关阅读:
    旋转数组求最小值
    docker
    php爬虫
    docker,docker-compose 安装
    ReactPHP
    Workerman了解一下
    ubantu 运行.sh 脚本的问题
    ubantu 文件权限 Permission denied
    ubantu 文件属性
    mysql命令行中执行sql的几种方式总结
  • 原文地址:https://www.cnblogs.com/you-shu/p/9090800.html
Copyright © 2020-2023  润新知