备注: 本文档针对 接口学习入门人群; ,中级 以及高级测试本篇文档请略过 ;
阅读本文前,自行查阅了解 接口测试是什么, 为什么要进行接口测试 ; 什么是面向对象 ,面向过程 ;以及他们之间的区别是什么?
进入本文主题 :
面向资源开发
前端和后端分离的优势:
1.后端开发不必精通前端技术
只专注于数据的处理,并提供Http协议的接口
2.前端的专业性越来越高
通过调用web接口获取数据 ,只关注与数据展示和页面交互的设计 ;
3.web接口的应用更加广泛
服务器端开发的接口可以供给网站使用,,也可以提供给app调用, 既可以提供给公司内部系统调用,也可以提供给公司外部系统调用;
以下我们会介绍两种接口测试的方法:
1.最常用的通过工具进行测试(大多数公司使用) ,
2.Python中第三方库requests类库
谦虚谨慎 ,方得始终 ; 你能走多远 ,取决你的眼界要多高 ;
Postman 工具的使用
对应项目路径地址
代表处理操作请求的类 ;
代表处理请求方法需要传递的参数
:此处指向的是 Http协议操作请求的方式
以获取access_token为例:
第二步: 根据 URL,参数 使用postman发送请求
第三步:断言查看响应结果 :
优点:
1.能够快速的构造接口调用
2.格式化显示响应结果
3.显示响应时间和状态码以及响应内容大小 ;
Post方法请求:
解析:
m=user package
c=public class
a=login method
如果响应结果显示的是html , 可以点击 preview进行预览查看 ;
用例集合
批量运行:
增加断言:
自动添加断言,不需要人工对比响应结果是否正确;
数据驱动
1.准备 csv文件
新建 excel->保存 csv
2.使用变量名称代替字符串常量
变量名来自csv文件的第一行 ,如图中红色 ;
变量名称不能直接写, 需要使用 , 保存 ;
3.通过collection运行
4.选择csv文件
Run 选择 dataFile文件
对数据驱动中文件expected 值做判断
什么时候需要添加环境变量??
一个项目的不同版本被部署在多个服务器上 ,我们需要变更测试环境
比如:我们不只是需要在测试环境上进行测试, 也需要在生产环境上测试,我们可以通过切换环境变量,便捷的实现 ; 可以在不同 环境上执行 ;
优点 : 可以实现关联 , 持续监控 ;
保持关联
就是把第一个接口中的响应的一部分,传递给第二个接口作为输入参数 ;
操作步骤如下 ; 1.获取响应结果中json字符串
2.获取json字符串中 access_token 的值 ;
3.讲获取到的 access_token 设置到环境变量中 ;
4.将第二个接口中调用 access_token02 的值:
关联有两种方案 ;
持续监控
类似于 Jenkins
1.展开 collection -> 三角箭头
2.Monitor -> add monitor
3.选择间隔时间
4.Add a monitor 下,点击添加的monitor
python代码实现接口调用
1.Install python sdk :
2.Pycharm 一步下一步 ~
3.下载并且导入 requests
Open dos : input -> or
Pycharm中 ,
双击 xx.zip 解压至 目录 ;
重新创建项目 , 即可 ;
get 请求 :
output :
Post请求 :
Output:
发现 output中有乱码 : 解决方案 ;
追踪 response对象进行查看: 图中所示
apparent_encoding 对象已被默认指定为 :
encoding 被指定为了 'utf-8' ;
至此 ; 发现 使用python的requests库发送请求太简单了 ; 使用 java的httpClient库单单一个get请求可能得花一天时间 , Python的强大之处就在于此 ;甚至比postman更加简单 ; 希望看完的小伙伴能够理解 ; 后期将会分享更多内容 ,敬请关注
写在最后的话 :
如果 你将来往高级测试工程师发展, 代码是你绕不过去的 ; 有能力者推荐学习java , 因为将来你要 学习性能调优都是绕不过去的 ; 强力推荐 > > 需要的小伙伴可以通过公众号 给我发送消息 ;
拂晓时分
我伫立在阒无一人的街角
我熬过了夜晚
——博尔赫斯
一切经得起再度阅读的语言,
一定值得再度思索
——梭罗
你穿过世事朝我走来 迈出的每一步都留下了一座空城 这时,一支从来世射出的毒箭命定了我 唯一的退路 --仓央嘉措
领取专属 10元无门槛券
私享最新 技术干货