章节7、postman测试工具的详解

课时54

老师主要通过一段面试经历讲了,不懂token是怎么获取的,被面试官不信任的事情。说明这个面试者只知道做,但是不知道所以然,这样的情况,不能拿到理想的薪资。

课时55

postman安装

常见方法method,有get post put delete

状态码200/ok 201/cteated 302/redirect 401/unauthorized 500/internalservererror 

知道哪里查看请求头,以及响应头。

课时56

通过实例来展示post使用。会用到网址http://www.webxml.com.cn/zh_cn/web_services.aspx

接口文档中如何获取接口网址?示例文档中host+文件地址=接口网址

Headers中,填写好对应的content-type

body中,选择raw,选择xml(也可能是json),把示例文档中的xml复制到空白处,把占位符替换为实际值。点击send。

课时57

根据抓包工具来进行接口测试,下载安装charles

日常的工作中,经常没有接口测试文档,这样就需要用到抓包工具来辅助测试。

打开charles,点击录制,在浏览器中访问接口,这样charles就可以抓到请求以及响应。

在postman中填写网址,抓到的Header的content-type,输入对应的body格式,点击send。

课时58 鉴权

访问一个需要登录后才能访问的网址页面,页面会自动跳转到login页面,响应码401,这就涉及到鉴权。

认证分为基本认证,常规认证,oauth2.0

鉴权是其中的基本认证,basic auth

使用方法:选择Authorization,Type选择basic auth ,username以及password都填上,点击橙色按钮Preview Request,这样在Headers中会生成对应的key-value键值对。此时点击send,就可以进入想要的网页

课时59 cookie

有的网页需要带cookie参数才可以进入,此时就需要通过抓包工具,获取到最新的cookie,然后在headers里填上cookie,点击sengd可以进入对应网页。

课时60 Charles

设置ssl证书,以及ssl代理。这样就不会有乱码(原因是未设置ssl的时候,大部分https网站的响应信息是加密的)

课时61 回顾

cookie是存在客户端本地的,相对不安全。

session是存储在服务器相对安全。

客户端请求服务器后,服务器生成对应的session id,并把session id返回客户端,客户端将其保存,再次请求(登录后的请求)服务器的时候,session id会作为cookie对象访问服务器,服务器就会根据session id匹配用户,给对相应合适的响应。

token是在移动端APP兴起以后火的,是session的升级版。

因为token每次访问服务器都是不同的,每次服务器都会返回新token给客户端。

websocket相对tcp -ip的特点是,持续keep-live,客户端端与服务端是一直连接的,除非网络出现问题,所以共享单车应用这种技术。Html5以及最新的js中都支持它。

课时62 postman对session的接口测试

 

获取sessionid,假如cookie很多,选择最下面的一个,因为这个最长。(只是我自己目前的经验,2018年10月23日13:54:05)

课时63 断言和token的获取流程

 

接口测试的断言有哪些:

1、协议状态码

增加Tests断言,右侧有快捷按键

2、业务状态码

在Tests中,输入

var jsonData=JSON.parse(responseBody)

test[“验证业务状态码是0”]=jsonData.status===0

3、数据验证

test[“验证username字段”]=jsonData.data.username===”710000005”

 

token在下一次请求的时候必须带着最新一次登录后获取的token。不然会提示验证失败。

如何把token设置成以后可用?

测试套件:简单来说,就是测试用例的集合,

具体到postman上就是一个collection

会用到变量variable

获取token,设置成EnvironmentVariable

使用token的接口中,设置token=”{{$varivableName}}” 就可以发送请求了。

怎么把获取到的token用起来?

把登录接口和使用到token的接口放到同一个collection下,一起run,就可以。

(注意下面的pass数量以及fail数量是根据断言的数量,而不是接口测试用例数量)

课时64 按模块划分和公共数据分离

自动化测试需要有“偷懒”的思想

比如假如有500的接口用例,接口改变,就需要改500次。

所以500次--2s

我们需要达到效果:

无论你怎么变化,我都只维护一个地方

 

所以需要设置全局变量。比如Url或者端口号就可以设置为全局变量

collection点击“…”点击edit按钮,点击Variables进行编辑全局变量。

设置url变量后,Url里面可以用{{url}}来代替url

 

postman collection可以建立子文件夹,每个子文件夹放1个模块,比如登录,用户中心

 

平常工作场景:

1、测试环境部署,冒烟测试(自动化用例)

2、测试环境部署ok,开发合并了代码,自动化测试

3、上线后,冒烟测试,自动化测试(60%-75%)

课时65 newman

安装newman之前需要先安装node.js

在官网下载Mac版本node.js,直接安装,安装后可以发现,node 以及npm都已经安装好,默认在usr/local/bin文件夹下。

安装好以后,可以在terminal中尝试是否正常安装。

然后输入命令安装newman

等待几分钟就可以安装好。

postman的collection可以分享share成链接,也可以导出成export给别人,别人机器中只要装了newman,就可以执行这个collection接口测试。

 

课时66 postman的设置代理

postman也可以像charles一样抓包,只需要把界面类似于“小广播”按钮的功能打开,设置上对应的端口号,手机也连接上同1wifi,设置代理,在手机上浏览,postman就可以抓到对应的链接以及参数。另外在小广播里可以设置filters,来过滤网址。

windows系统,怎么查找端口被哪个进程占用,以及进程属于哪个软件服务。

mac系统

课时67 postman接口测试实战前置第十五节

基于业务的接口测试才是有意义的接口测试

想要的效果:

接口用例执行完成,pass,业务功能ok

课时68 postman接口测试实战上

老师在之前的基础上,演示了一个商户管理和添加商户的操作。

其中需要注意的是,商户管理是在collection下的文件夹,然后添加商户(以及后面的编辑商户)需要是商户管理下的子文件夹,这样的结构可以很清晰。

先用Charles抓包,知道具体的接口以及接口Url,把请求的信息放到body里面,这样就做好了一个接口用例。

用工具进行接口自动化测试的好处是让数据自己产生数据,自己维护数据,不需要人为参与数据分离。比如token以及shopid的产生以及运用。

当一个商户完成冻结或者激活等操作后,并且接口也没有response此事商户的状态,我们怎么能验证呢?去网页进行查看,就有手工测试,不算完整的自动化测试。需要再次查询这个商户,用Charles抓包,看看哪个接口,然后用postman进行请求并加上断言,来判断商户的状态。

课时69 postman接口测试实战中

添加商户,编辑商户,删除商户,这是一个闭环,可以让接口自动化用例,每次都可以run成功。(不会存在商户或者数据已存在的问题)

另外当全部的自动化接口用例完成后,想在线上测试,只需要修改全局变量的Url,就可以拿到线上使用。一劳永逸。

课时70 postman接口测试实战下

基于业务的接口测试:

       a.顺序

       b.业务场景合理,反向思维

       c.断言合理

       d.自信

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值