栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

接口自动化篇

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

接口自动化篇

接口自动化
1、工具类
postman+Newman+Git/svn+Jenkins
jmeter+Git/svn+jenkins
2、Python+requests模块
Requests第三方库,主要用于发送http请求,做接口自动化
安装命令: pip install requests(需切换至Python安装目录下执行)
3、requests全局观
请求
requests.get() 发送get请求
requests.post() 发送post请求
requests.delete() 发送delete请求
requests.put() 发送put请求
requests.request() 最核心方法

响应:response 对象
import requests

resp=requests.requests()
#返回字符串数据(文本)
print(rep.text)
#返回字典格式数据(json串)
print(rep.json)
#返回字节格式数据
print(rep.conent)
#状态码
print(rep.status_code)
#返回cookie信息
print(rep.cookies)
#返回响应头信息
print(rep.headers)
#返回编码格式
print(rep.encoding)

4、接口实战
请求方式:get、post、delete、put
请求参数方式:键值对、json格式、文件格式

import requests

url=’’
data={“tag”:
{“id”:"",
“name”:""
}
}
rep=requests.post(url=url,json=data)
print(rep.json())

线性脚本:no

5、pytest用例管理框架(Python+requests+pytest)

1)#使用前提:安装pytest: pip install pytest (Python安装路径下)
2)#pytest默认规则
1、py文件必须test_ 开头货 test结尾
2、类名 class 必须已Test开头
3、用例名必须 test
开头

3)注意点—重要(第3节课)
#get请求通过params传参;
#post通过data/json传参,他们的区别是什么;
1.Data
数据报文:dict字典格式,那么默认请求头:applilcation/x-www-from-urluncoded,表示以form表单方式传参,格式:a=1&b=2&c=3
数据报文:str字符串类型,那那么默认请求:text/plain
2.json
数据报文:不管是dict还是str类型,默认都是applilcation
json.dump(data) 序列化 把dic字典格式数据转换成str格式传参
json.loads(data)反序列化 把str格式转换成dic字典格式
总结:data只能传简单的键值对的dic/str格式;json一般只能传dic字典格式(简单和嵌套都行)

4)#文件上传通过files传参(3、节课)
待学习
5)#带请求头
Headers={“a”:””, “b”:”}

6)#正则表达(比如返回的是HTML时)
Re.search(‘左边界右边界value=”(.*?)”’,rep.text)[1]
rep.text—取值的地方、[1]—第一个值

7)鉴权
cookie鉴权:
网页接口进本都要做cookie鉴权(这种不常用)
通过session实现鉴权(常用)
全局变量:session = requests.session()
第4节课(待学习)

8)#pytest用例管理框架的作用(第5节课)
发现测试用例:从多个py文件中通过默认规则找到测试用例
执行测试用例:顺序和条件
判断测试用例:断言
生产测试报告:HTML 、allure
Python:unitest、pytest
Java:Junit、testng
9)#pytest全局观
可以和所有自动化测试工具selenium、requests、appium结合,实现web自动化、接口自动化、APP自动化;
跳过用例以及失败的测试用例重跑;
结合allure生成美观的测试报告;
结合Jenkins持续集成;
强大的插件:
pytest 自身
Pytest-html #生成html报告
Pytest-xdist #多线程运行
Pytest-ordering #改变测试用例执行顺序
Pytest-rerunfailures #失败用例重跑
allure-pytest 生成allure测试报告
(第6节课:项目中一般都会使用requirements.txt 文件保存插件名称,通过pip install –r xxx.txt 在“terminal”安装)
1.requirements.txt可以通过pip命令自动生成和安装。
2.生成requirements.txt文件:pip freeze > requirements.txt
3.安装requirements.txt依赖:pip install -r requirements.txt

10)运行方式
1.主函数方式(命令行方式)
-v 输出更加详细的运行信息
-s 输入调试信息
-n 多线程运行 #pytest.main([‘-vs’,’-n=2’])
–reruns 失败用例重跑 #pytest.main([‘-vs’,’–reruns=2’])
–html=报告路径 ##pytest.main([‘-vs’,’–html=./report.html’])

2.实际工作中用pytest.ini 配置文件来配置运行(第7节课)

11)前后置 夹具 (第8节)

6、测试框架封
1)#接口自动化框架封装第一步:统一请求方式
requests.request() 最核心方法
rep=requests.request(“get/post”,url=,data/json=)
2)鉴权
通过session实现鉴权(常用)
全局变量:session = requests.session()

**7、接口自动化测试框架封装(接口关联封装)**第9节课
通过一个关联的yaml文件实现
读取yml
写入yml

pip版本过低导致,所以只需要升级pip即可
百度上的 easy_install -U pip 命令已经弃用了,应该使用 python -m pip install -U pip 命令来升级

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/395661.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号