接口自动化测试(Python+Requests+Unittest)
(1)接口自动化测试的意义、前后端分离思想
接口自动化测试的优缺点:
优点:
1、测试复用性。
2、维护成本相对UI自动化低一些。
为什么UI自动化维护成本更高?
因为前端页面变化太快,而且UI自动化比较耗时(比如等待页面元素的加载、添加等待时间、定位元素、操作元素、模拟页面动作这些都需要时间)为什么接口自动化维护成本较低?
因为接口较稳定,接口的响应时间基本上都是秒级、毫秒级别的,速度快,并且接口自动化本身也可以做一些有关联的操作、全流程的操作(比如:注册 --> 登录 --> 修改个人信息)。
3、回归方便。
4、可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。
优点1、优点3、优点4是接口自动化和UI自动化公有的优点。
缺点:
1、不能完全取代手工测试。(自动化永远不能替代手工测试,只是提高测试效率)
2、手工测试比自动化测试发现的缺陷更多,自动化测试不容易发现新的BUG。
GET请求和POST请求的区别:
1、GET请求一般是从后台服务器上获取数据用于前端页面的展示(例如:看到列表页面等),POST请求是向服务器传送数据(登录、注册、上传文件、发布文章)。什么时候用GET,什么时候用POST取决于开发。无论用POST请求还是GET请求,都能完成对数据的增删改查,分不同的请求方式更多的是一种约定。
2、GET请求的请求参数是拼接在url后面的,只能以文本的形式传递参数,请求参数会显示在地址栏,数据长度受限于url的长度,传递的数据量小(4KB左右,不同浏览器会有差异),POST请求的请求参数是放在request body里面,传递数据量大(默认8M),对数据长度也没有要求。GET请求可以在浏览器中直接访问,而POST请求只能借助工具完成(比如:postman、jmeter)。
GET请求速度快,安全性不高;POST请求一般用于像登录这种安全性要求高的场合,请求不会被缓存,也不会保留在浏览器的历史记录中。
以前:get 查询;post 新增;put 编辑;delete 删除
现在:get 查询;post 新增 + 编辑 + 删除
或者:纯post走天下
前后端分离
开发模式
以前老的方式:
- 产品经理 / 领导 / 客户提出需求(提出文字需求)
- UI做出设计图
- 前端工程师做html页面(用户能看到的页面)
- 后端工程师将html页面套成jsp页面(前后端强依赖,后端必须要等到前端的html页面做好才能套jsp。如果html发生变更,就很麻烦,开发效率低)
- 集成出现问题
- 前端返工
- 后端返工
- 二次集成
- 集成成功
- 交付
新的方式:
- 产品经理 / 领导 / 客户提出需求(提出文字需求)
- UI做出设计图
- 前后端约定接口 & 数据 & 参数
- 前后端并行开发(无强依赖,可前后端并行开发,如果需求变更,只要接口 & 参数不变,就不用两边都修改代码,开发效率高)
- 前后端集成
- 前端页面调整
- 集成成功
- 交付
python+requests+unittest+HTMLTestRunner构建接口自动化测试框架(一)了解基础框架,读取配置文件 python+requests+unittest+HTMLTest ... 众所周知,目前较为主流的接口自动化框架:httprunner3, pytest, unittest. 背景知识:httprunner3是基于pytest进行二开封装的,而pytest是基于unitte ... 由浅入深----python+requests+unittest执行自动化接口测试 一.安装requests.xlrd.json.unittest库 1.pip 命令安装: 2.pycharm里安装 ... 通过运行主函数,返回的参数,报json解析错误 正常的返回参数,应该如图 造成这个原因的是: python从excel中解析出来的数据类型不是字典,是字符串,所以无法传递给requests当做请求参数 ... 一.框架结构: 工程目录 二.Case文件设计 三.基础包 base 3.1 封装get/post请求(runmethon.py) 1 import requests 2 import json 3 ... 现在来到了重点,test_case层. test_case层: 1,按照不同业务模块分文件夹存放,以: 业务模块名_test 命名文件夹.eg. order_test 注意:方便以后模糊匹配到所有以t ... 以数据驱动的形式,将用例维护在py文件中 源码分析: 变量定义 publicParameters.py """ 公共参数 , 按照各公司实情,自行编写 "&qu ... 上一节介绍了 requests.get() 方法的基本使用,本节介绍 requests.post() 方法的使用: 本文目录: 一.方法定义 二.post方法简单使用 1.带数据的post 2 ... 环境搭建好后,接下来我们先来了解一下requests的一些简单使用,主要包括: requests常用请求方法使用,包括:get,post requests库中的Session.Cookie的使用 其它 ...接口自动化测试(Python+Requests+Unittest)相关推荐
最新文章
热门文章