zoukankan      html  css  js  c++  java
  • postman和charles

    一、接口测试 

    接口的两个概念:前段(负责展示)和后端(负责逻辑);连接前段和后端,通过接口来交互,接口会返回一种通用的数据类型,所有的语言都认识。JSON( 接口返回的数据都是通用的,key 、value这种叫josn格式)

    一、get请求

      用来向服务器获取数据(①没有请求体,它的数据是在url里面放的)

    1、get请求如何传参:在链接后加一个 “”符号再加上参数等于XX即可;多个参数中间加&符号

    2、get请求的请求参数只能写在Params里

    二、post请求
      用来向服务器发送数据

    1、psot请求的请求参数不能写在Params里,写在Body-form-data里 : key和value格式

    2、入参是josn类型:选择body-raw-josn 

    3、josn格式:大括号{}、key要双引号,逗号 ;注意:最后一行没有逗号

      {"name":"小刘",
       "grade":"天蝎座",
       "phone":18000000086}

    4、接口测试需要登录的接口操作,cookie写在headers里

    5、所有交互都是通过http请求来发请求的,http请求分:请求头、请求体、

      ①请求头:headers(1)存放一些额外的信息(2)请求发过来时候用的是什么浏览器。
      ②请求体:boay - 发送的数据 

      ③url   :是用来标识要发给哪个网站,要调用哪个路径

    6、浏览器里如何抓包:检查-network查看

      ①XHR:想要过滤图片,点击XHR,只是调后端接口发的请求

      ②Headers:可以再浏览器中看到每一个网站,发出的请求以及调用的那些接口

      ③Response:接口返回的数据

      ④Preview:格式化的数据

    7、cookie:

        存在客户端的一个键值对
      session:
        存在服务端的一个键值对

    客户端发起请求,把cookie里的键值对拿过来,一并发给服务端,服务端也存了一个键值对,拿过来去查,核对成功,可以正常操作

     8、token写在headers里

    9、postman里如何上传文件:body-formdate-选择file;修改文件类型;

    10、formdate与x-www-form-rulencoded的区别:前者可以上传文件,后者不可以

    11、Request Headers :

      ①Referer:判断从哪个页面跳过来的

      ②User Angent:查看哪个浏览器

      ③ Oeigin:域名地址

      ④Connection:保持连接

      ⑤Accept-Language: 字符集

      ⑥Accept:接受返回什么类型的数据

    12、http状态码:

      2开头:一般都是成功

      4开头:客户端问题,访问的路径不存(客户端是我们自己的问题:访问不存在)

      5开头:服务单问题,也有可能是自己传参数导致,需要查看日志

    三、postman常用设置

    1、保存接口:点击save,新建文件,保存

    2、定义变量:例如更换地址:点击右上角齿轮,点击Globals,在VARIABLE里输入host,在INITIAL VALUE里面输入地址,返回,将地址更换,{{host}}大括号,里面写上host,,在/api前写

    3、参数化:新建一个文件保存桌面,点击Runner-选择项目-选择一个接口

      ①iterations:循环的次数

      ②delay:间隔时间 秒

      ③Log Responses:

      ④Date:选择一个文件

      ⑤Date File Type :textcsv  ;备注:勾选上Keep variable values

    4、批量跑:value值写成变量:举例:将小黑改为{{name}},文件中名称为name,若为其他,改为其他,自己定义;文件中第一行名称和变量名对应

    四、如何设置检查点

    1、Tests :

      ①Responese body:Status code :判断请求发出之后,http状态码是不是200,这个是看状态的

        点击,出现pm.test("Status code is 200", function () {pm.response.to.have.status(200);}); 

      ②Responese body:Contains scring :包含哪些字符串

        点击,出现pm.test("Body matches string", function () {pm.expect(pm.response.text()).to.include("string_you_want_to_search");});

        其中,①Body matches string是检查点的名字,(随便改);②string_you_want_to_search是要检查的字符串(内容) ;举例:①处可以写“检查名称是否存在”;②处写“name”(双引号),并保存

      (备注:在桌面的文档里可以添加一条不存在的数据,可以检查到是哪条数据出了问题;但是这个属于单个检查点,但是我们想取name的变量,也就是如何添加动态检查点)

     五、如何添加动态检查点

     1、不仅检查数据是否存在,而且还要检查是否正确

      ①Get a variable :获取一个变量

      点击,出现pm.variables.get("variable_key");这个variable_key要从文件中取,取id :pm.variables.get("id"); 这行代码就表示,每次运行的时候,都从文件里把id取到,然后把这行代码,黏贴到name位置,这样每次取得时候就能取到id这个变量了

    置,保存,运行 

      备注:postman 可以批量注册,造数据,批量上传等待

    六、精准匹配参数

    1、Responese body:JOSN value check; 精确匹配,某一个字段,值对不对

      点击,出现pm.test("①Your test name", function () {②var jsonData = pm.response.json();pm.expect(③jsonData.value).to.eql(④100);});①检查名字名字随便改; ②定义一个变量,获取到接口返回的结果;③要取的字段;④要取的值等不等于100

       原:pm.test("检查user_id", function () {var jsonData = pm.response.json();pm.expect(jsonData.error_code).to.eql(0);});      error_code接口返回的key,对比是不是0 ;想取哪个字段,就.哪个字段;把error_code变为stu_info[1].id).to.eql(100010881)   ,1为数组 

      后:pm.test("检查userid", function () {
         var jsonData = pm.response.json();//定义一个变量,获取到接口返回的数据
        pm.expect(jsonData.stu_info.[1].id).to.eql(100010881);//ejsonData后面是要取的字段,eal是判断登不等于这个值}); [1]为数组

    七、抓包Charles

    1、勾选Proxy-Windows Proxy

    2、charles 修改返回的数据

    3、检查-network:刷新页面 首先找到要拦截的api,在charles里找到要抓取的api,点击右键-Breakpoints,然后清除charles,再次查询,页面一直在加载,后端一直没有返回数据;

      ①Edit Request :limit:显示;  page:页  ;点击execute放行

      ②请求参数不改,修改 Edit responess 返回数据;点击execute放行

      ③加很多断点:Breakpoint Settings,能够看到加的所有的断点,也可去全部去掉 Enable

     

     八、手机抓包 

    1、app弱网

     ①Proxy-Throttle Setting  模拟弱网测试;Only for selected hosts :如果只针对一个网站,需要Add,如果不设置,那就针对所有网站

     ②Charles抓取https请求 :手机抓包https://www.jianshu.com/p/674116a223cb  ;电脑抓httpshttps://www.cnblogs.com/fighter007/p/9162617.html 

     ③

  • 相关阅读:
    深度学习代码注解(一)—— mnistdeepauto
    只属于你我的共同记忆
    只属于你我的共同记忆
    道教的认识
    道教的认识
    作家、文学大家、大师的艺术风格
    作家、文学大家、大师的艺术风格
    视频、画面、语言、文字与脑海、心灵
    视频、画面、语言、文字与脑海、心灵
    URAL 1963 Kite 四边形求对称轴数
  • 原文地址:https://www.cnblogs.com/liuxiaoxiao-liu/p/12715538.html
Copyright © 2011-2022 走看看