您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页pytest+requests搭建接口自动化框架及流程

pytest+requests搭建接口自动化框架及流程

来源:小侦探旅游网
pytest+requests搭建接⼝⾃动化框架及流程

接⼝⾃动化脚本

接⼝⾃动化是是可以完全贴合 整个⾃动化测试框架的可以结合 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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务