zoukankan      html  css  js  c++  java
  • python学习-Day1-接口测试

    • 学习内容:接口测试
    • 学习方式: 通过工具测试http接口
    • 工具:postman + jmeter

     

    基础知识

    一、 接口调用测试:接口请求报文拼接

    1. 问号前是url,后面是参数名和参数值,多个参数用&连接:

    url?param=value&param2=value2如:https://api.duoban.com/v2/book/search?name=新华字典  

    标黄字体是ip , 标红字体是路径

    2. 入参是Jason串的,{"myKey":values};,就不能拼接参数了,需要借助工具来完成,如Postman、jmeter

     

    二、 GET和POST请求及它们的区别

    GET请求直接在浏览器里输入即可,只要在浏览器里直接能请求到的,都是get请求;

    post请求则需借助工具发送。

    区别:

    1. get请求没有请求体,只有请求头,使用URL或者cookie传参

    2. get没有post安全,因为get把参数都写在了url里(其实post请求通过抓包也可看参数)

    3. get有参数大小限制因为url长度上的限制,post没有(现在都没有限制了)

    4. get一般用来获取数据的,一般向服务器端发送数据用post

     

    三、HTTP状态码

    每发出一个http请求后,都会有一个响应,http本身会有一个状态码来标识这个请求是否成功,常见的状态码有以下几种:

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

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

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

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

     

    工具使用简介

    一、jmeter

    1. 介绍:jmeter是java开发的一款开源的性能测试工具,也可进行接口测试。

    2. 安装:无需安装,配置好环境(jdk)后,直接双击运行包里bin目录下的jmeter.bat即可。

    3. 运行后的中文乱码问题解决方案,参见如下两步:

    a. 在jmeter的bin目录下打开jmeter的配置文件jmeter.properties -》将  sampleresult.default.encoding=UTF-8   加到最后一行 -》保存

    b. 重启jmeter即可

    4. 发送GET、POST请求及结果查看

    (添加http请求方法:添加 -》Threads(Users)-》线程组 -》右键线程组 -》添加 -》Sampler -》HTTP请求)

    a. GET请求

     b. POST请求

    c. Files Upload

    上传文件时对应的MIME类型:https://www.jianshu.com/p/f23f7fe20bf3

     d. 查看结果树

     5. 响应断言

     

    6. 用户定义的变量

     

    7. HTTP信息头管理器

     如想在请求结果中查看发送的cookie,选用HTTP Cookie 管理器功能,并在jmeter的配置文件jmeter.properties中将#CookieManager.save.cookies=false改为CookieManager.save.cookies=true

    8. 参数化:选项 -》函数助手对话框 

    a. _Random: 输入区间值范围 -》生成 -》拷贝生成的函数字符串作为参数   ${__Random(1,999,)}

    b. _UUID: 取到的每一个值都是唯一的,但位数长  ${__UUID}

    c. _time: 不输入直接生成,则会取当前时间戳(概念:从计算机诞生的那一天到现在过了多少秒)且精确到毫秒。

                    时间格式可自定义为格式化好的时间,如年月日时分秒则写为yyyyMMddHHmmss

    参数化方法总结:

     1、用户定义的变量
    这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的
    2、函数生成器
    函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数
    3、从文件中读取
    文件读取就是事先写好一些数据,然后从文件中读取,这样的话,比如说登录接口,账号和密码都是我们事先注册好的

    9. 关联:从上一个接口获取一个结果,给下一个接口当入参用,可使用如下两种方式:

                 (jmeter设置路径为选中要从其响应结果中获取参数的http请求 -》右键 -》添加 -》后置处理器 -》正则表达式、JSON Extractor)

     

    a. 正则表达式:复制返回结果中想要进行关联的字段+返回值,将返回值用(.+?)代替,如 "userId": (.+?)

    b. JSON Extractor: 需注意路径写法,前几级(根据大括号数量)用“.”代替,上一级用上一级名称,最后在加上“.字段name”

     

    二、 Postman

    1. GET请求

    2. POST请求

     

    3. 入参中需上传文件

    4. 添加信息头

    5. 全局变量设置

     

  • 相关阅读:
    Android NumberPicker和DatePicker分割线颜色设置
    用来解析,格式化,存储和验证国际电话号码:libphonenumber
    Unbutu网卡驱动安装(Intel内置网卡8086:15b8)
    Android版本判断
    Ubuntu中、英文环境设置
    adb常用命令介绍
    Android Environment 类详解
    Android字符串相关类
    Android字符串相关类
    Android字符串相关类
  • 原文地址:https://www.cnblogs.com/denise1108/p/9910454.html
Copyright © 2011-2022 走看看