接⼝⾃动化脚本
接⼝⾃动化是是可以完全贴合 整个⾃动化测试框架的可以结合 pytest 以及 unittest 进⾏接⼝框架的编写
接⼝⾃动化测试体现流程
项⽬页⾯ - 接⼝⽂档 - 接⼝⽤例 - python脚本 - pytest框架 - ⽤例执⾏ - 测试报告 - 结果分析 - jenkins集成
搭建测试框架的思路
核⼼技术:request发起请求,yaml作为配置,Excel写⼊⽤例,数据驱动结合pytest对⽤例管理, git管理代码,jenkins持续集成,或者是docker容器
先对代码封装
import requestsimport jsonimport pytest
class Test_Case:
def test_home_page(self):
# 确定url
url = 'http://mp-meiduo-python.itheima.net/' # 发起请求
res = requests.get(url=url)
assert res.status_code == 200
def test_login(self): # 登录url
url = 'http://mp-meiduo-python.itheima.net/login/' # 传⼊请求头 data = {
'username': 'admin', 'pwd': 'admin' }
# 如果请求类型 为json 就需要转码 # data = json.dumps(data)
res = requests.post(url=url, data=data) assert res.status_code == 200
if __name__ == '__main__':
# 执⾏指定接⼝测试⽤例⽂件 或⽣产测试报告 pytest.main(['-s','test.py','--html=my_case.html'])
结合数据驱动
class Test_Case:
@pytest.mark.parametrize('url',[
('http://mp-meiduo-python.itheima.net/') ])
def test_home_page(self,url):
res = requests.get(url=url)
assert res.status_code == 200
@pytest.mark.parametrize('url,data',[
('http://mp-meiduo-python.itheima.net/login/',{'username': 'admin', 'pwd': 'admin'}) ])
def test_login(self,url,data): url = url data =data
# data = json.dumps(data)
res = requests.post(url=url, data=data) assert res.status_code == 200if __name__ == '__main__':
pytest.main(['-sv','test.py','--html=my_case.html'])
后期可以把get 与 post请求的参数都存⼊到数据驱动 对get类或post类进⾏写⼊
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务