关联接口

定义:上个接口返回的参数作为下一个接口的入参

1)接口1:查询出所有的州,自治区,直辖市,省(且发送请求不需要入参) 接口url地址:

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince

get和post都可以查询身份接口

2)接口2:通过输入省份,查询出省对应的城市 参数:province='省份名称'

正确步骤:

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity?byProvinceName=%E6%B9%96%E5%8D%97

byProvinceName=湖南

以上的方法太单一,所以我们要把省份设置成变量,从上一个接口中获取

1、设置变量

2、获取第一个省份接口中的身份,给第二个接口做参数,所以我们需要如何提取

思路:把第一个接口的响应体的内容,存到环境变量中,只要省份,标签不要

在test中添加

//1.把响应体内容转换为json对象

var jsonObject = xml2Json(responseBody);

//2、通过jsonObject拿到对应的值

js=jsonObject.ArrayOfString.string

//3、拿到省份,设置环境变量

postman.setEnvironmentVariable("province", js);

通过索引获取其中的标签和值

错误步骤:

同步接口和异步接口

六、cookie、session和token的区别:

cookie(cookie存储在客户端上)

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,

仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏

览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会

把该cookie发送给服务器。

3、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,

考虑到安全应当使用session。

4、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器

的性能, 考虑到减轻服务器性能方面,应当使用cookie。

5、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20

个cookie。

6、个人建议: 将登陆信息等重要信息存放为session, 其他信息如果需要保留

,可以放在cookie中。

session(session存储在服务器上)

1、session翻译为会话

2、session服务器会保存一份,可能保存到缓存/数据库/文件里面。

3、session 从字面上讲,就是会话。服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”,对于浏览器客户端,大都默认采用 cookie 的方式。

服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。

token:(令牌,服务器返回给到客户端的)

1、token的定义:token是服务端生成的一串字符串,以作客户端进行请求的一个令

牌,当第一次登录后,服务器生成一个token便将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。

2、使用token的目的:token的目的是为了减轻服务器的压力,减少频繁的查询数据

库,使服务器更加健壮。

3、token的原理:

第一步:你第一次登入成功之后,服务器就会产生一个token值,而这个值就会被服

务器保存,同时将token值发送给客户端。

第二步:客户端拿到token值后要进行保存

第三步:当客户端再次发起网络请求时(该请求不是登录请求,是登录之后的请求),在该次请求中token值会发送给服务器。

第四步:服务器接受到客户端的请求后,会进行token值的对比。当token值一致时,说明已经登入成功,用户处于登入状态;当token值不一致时,说明原来登入的信息已经失效,让用户重新登入

七、接口作业一

通过postman创建一个集合和通过抓包工具或者Chrome浏览器F12调试抓取如下的接口做接口测试

1、用户管理中的添加用户接口

2、用户管理中的搜用户接口

3、个人修改密码接口

4、栏目设置的添加栏目接口

5、文章管理中的添加资讯接口

接口作业二:

根据用户增删改查接口文档设计测试用例40条

1、正常场景有:输入正确的参数

2、异常场景:假如需求入参为11位--考虑边界值和等价类

入参为10位

入参为12位

删除或者增加入参、不写参数

写参数不填入值(值为空)

入参内容填入关键字参数比如:post get 等等

八、常见的接口面试题目:

1.postman接口测试,它有一个功能可以设置参数化,你有用过吗

2.你测试过哪些接口

3.有做过接口测试吗?接口测试你们是怎么测的

4.多接口怎么测(postman里面有一个批量处理)

5.get和post请求的区别

6.接口请求的基本结构

7.接口自动化测试怎么做的

8.业务中接口测试的业务请求是怎样的?

9.调用接口异常有哪些测试点

10.是怎么处理接口超时的?

11.一个完整的请求有哪几部分组成?

12.请求方式有哪些?

13.请求正文的文本格式 ?

14.请求头包含哪些内容

15.响应头包含哪些内容

16.常见的http响应状态码

17.postman参数化设置如何设置?

18.postman 如何设置断言

19.postman 如何设置全局变量和环境变量

20.接口测试用例设计主要考虑哪些方面

21.fiddler如何抓包

22.fiddler如何设置断点,为什么设置断点

23.fiddler如何手机代理,抓app包

24.开发者工具F12如何查看接口请求

多测师讲解接口测试 _postman(下)_高级讲师肖sir的更多相关文章

  1. 多测师讲解requests __介绍_高级讲师肖sir

    我们今天讲解的内容 一.什么是Requests? Requests是用Python语言编写的简单易用的HTTP库,用来做接口测试的库. 二.安装requests库 1.按住Windows标志+r,在运 ...

  2. 多测师讲解 _requests安装问题解决_高级讲师肖sir

    步骤一:"dos下新建一个pip文件,在文件下建一个pip.ini 文件,步骤二:文件中内容[global]index-url=http://mirrors.aliyun.com/pypi/ ...

  3. 多测师讲解自动化 _rf 变量_高级讲师肖sir

    rf变量 log 打印全局变量 列表变量: 字典变量: 查看当前工程下的变量 紫色表示变量名有误 设置全局变量 设置列表变量 设置字段变量 关键字书写格式问题

  4. 多测师讲解requests __中_高级讲师肖sir

    (1)生成报告 import unittest #导入单元测试框架 import requests #导入接口库 import time # #时间戳,导入time模块 from api.HTMLTe ...

  5. 多测师讲解requests __上_高级讲师肖sir

    1.三种接口接口请求方式 # # 在python当中接口的请求方式有哪些:# import requests # 导入requests接口库# # # # 请求方式有三种:# # # # 第一种:# ...

  6. 多测师讲解自动化测试 _RF连接数据库_高级讲师肖sir

    RF连接数据库:1.Connect To Database(连接数据库)2.Table Must Exist(表必须存在)3.Check If Exists In Database(查询某条件是否存在 ...

  7. 多测师讲解seleniun_ ACTIONCHAUNS定位_高级讲师肖sir

    1.传统方法定位 2.模拟鼠标定位

  8. 多测师讲解selenium_iframe框定位_高级讲师肖sir

    iframe 框定位方法: 查看iframe框 京东点击登录定位元素 定位qq: qq登录定位的元素 查找iframe框 定位iframe框 from selenium import webdrive ...

  9. 多测师讲解selenium _assert断言_高级讲师肖sir

    assert断言 # # 断言:最常用的断言方法if判断# assert Python语法中自带的断言from selenium import webdriverfrom time import sl ...

  10. 多测师讲解python _re模块_高级讲师肖sir

    import re# 一.常用方法:# match():从头匹配# search():从整个文本搜索# findall():找到所有符合的# split():分割# sub():替换# group() ...

随机推荐

  1. 在logback的fileNamePattern配置%i 带来的异常

    我在logback的配置文件中企图这样配置: <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPol ...

  2. h5内嵌微信小程序,调用微信支付功能

    在小程序中不能使用之前在浏览器中配置的支付功能,只能调用小程序专属的api进行支付. 因为需要在现在实现的基础上,再添加在小程序中调用微信支付功能,所以我的思路是这样的 1.在点击支付按钮时,判断是不 ...

  3. 阿里云openssl升级,实现nginx主动推送,nginx主动推送能够有效减少不必要的报文传输,减少用户请求次数,以达到更快访问速度

    现有版本检查 [root@node3 ~]# openssl version               #这个版本是无法支持http2.0主动推送功能.需要升级为2019版本. OpenSSL 1. ...

  4. Kubernetes K8S之Pod跨namespace名称空间访问Service服务

    Kubernetes的两个Service(ServiceA.ServiceB)和对应的Pod(PodA.PodB)分别属于不同的namespace名称空间,现需要PodA和PodB跨namespace ...

  5. 小BUG大原理:FastJSON实体转换首字母小写的尴尬事件

    问题描述 因为项目连接的Oracle数据库,字段名映射方便使用大写,但是通过接口调用返回到前端的字段名首字母为小写,这样带来的问题前端显示的字段就需要写这种很尴尬的格式. 原因分析 开发环境使用的是S ...

  6. 透过 Cucumber 学习 BDD

    在需求的开发过程中,最令人困惑的地方就在于需求模糊.需求是解决业务的问题,那么验收的方式应该是由业务方提出,但是往往业务方(可能是产品经理,也可能是直接是客户)只能给出比较模糊的一个验收标准,而程序却 ...

  7. Github上如何添加 LICENSE 文件?

    什么是开源软件? 开源软件是所有人都可以修改和补充的软件,因为开源软件的 license 协议允许这样做. Git版本控制系统就是开源的软件. 实际上开源软件的一个重要组成部分就是添加 license ...

  8. Linux实战(9):Docker一键搭建kms服务

    server端 docker pull luodaoyi/kms-server docker run -itd -p 1688:1688 --name kms luodaoyi/kms-server ...

  9. JVM垃圾收集机制

    JVM垃圾回收机制是java程序员必须要了解的知识,对于程序调优具有很大的帮助(同时也是大厂面试必问题). 要了解垃圾回收机制,主要从三个方面: (1)垃圾回收面向的对象是谁? (2)垃圾回收算法有哪 ...

  10. hystrix(8) 插件

    上一节讲到HystrixCommand的执行流程. Hystrix内部将一些模块实现成了插件,并且提供了用户提供自己的实现,通过配置来替换插件.Hystrix提供了5个插件,分别为并发相关插件(Hys ...