阅读目录
前言
一、先来了解下pytest
二、需要具备的基础知识
三、开发环境准备
四、接口自动化实战(设计项目目录)
五、方法封装
六、编写自动化用例脚本
七、持续集成
八、其他自动化框架
前言不知道该如何设计自动化框架? 不知道怎么搭建持续集成环境? 下面带大家一起来盘盘它?走起 ~~
一、先来了解下pytest
pytest 是非常成熟全功能的Python测试框架。
可以覆盖unittest能做到的各种各样场景,比如:单元测试、web测试、app测试、接口测试等等。
pytest是个插件化的平台,它比unittest更强大也在此。目前已经有大量第三方插件扩展和增强它的功能
你可以根据自己需求,定制化开发出自己的插件
可以很好的和CI工具进行结合
pytest与unittest区别:带你清楚了解pytest和unittest:【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个? - 三叔测试笔记 - 博客园
为什么选择pytest而不是unittest,相信大家通过上面的文章心里面已经有了答案。 任何框架、工具的出现都是为了解决某些问题,pytest的操作简单,功能强大也致使它成为主流。
二、需要具备的基础知识 python基础待更新
liunx基础待更新
git基础待更新
三、开发环境准备 python/pycharm安装及环境配置【关注微信公众号:三叔测试笔记,及时获取干货】 - 三叔测试笔记 - 博客园">【基础】python环境搭建及配置--->【关注微信公众号:三叔测试笔记,及时获取干货】 - 三叔测试笔记 - 博客园
java安装及环境配置【关注微信公众号:三叔测试笔记,及时获取干货】 - 三叔测试笔记 - 博客园">【基础】java环境搭建及配置--->【关注微信公众号:三叔测试笔记,及时获取干货】 - 三叔测试笔记 - 博客园
linux环境待更新
tomcat部署及配置待更新
jenkins安装配置待更新
git安装配置待更新
Allure安装配置
百度网盘下载地址:
链接:百度网盘 请输入提取码 提取码:ss11
配置环境变量
验证Allure,如下图说明配置成功
需要的依赖包安装pip安装一下依赖包(例如:pip install pytest)
allure-pytest==2.8.36 allure-python-commons==2.8.36 configparser==5.0.0 PyMySQL==0.9.3 pytest==5.4.3 pytest-html==2.1.1 pytest-metadata==1.11.0 regex==2020.11.13 requests==2.25.1 requests-toolbelt==0.9.1 xlrd==1.2.0 xlwt==1.3.0 pyDes==2.0.1 ruamel.yaml==0.17.10
快速安装技巧 将上面内容存入一个txt文件中,直接pip install 安装 pip install -r requirements.txt
四、接口自动化实战(设计项目目录) 目录结构├── base // 工具 │ ├── api_requests.py // requests请求封装 │ ├── asert_contrast.py // 断言封装 │ ├── log.py // 日志封装 │ ├── public.py // 常用路径等操作封装 │ └── read_data.py // 读取文件数据 ├── config // 配置文件 │ └── config.yml // 环境配置 ├── data // 文档 │ ├── └── demo.yml // 测试数据 │ └── ..、├── log // 日志文件 ├── page // api方法封装 │ ├── └── demo.py // 用例方法 │ └── login.py // 登录封装 ├── report // 测试报告生成路径 ├── test_case // 用例脚本 │ ├── └── test_demo.py // excel用例脚本编写 │ └── ..、├── excel_data // excel用例 │ ├── demo.xlsx // excel用例文件 │ └── ..、├── conftest.py // pytest自定义命令行参数,切换环境 ├── pytest.ini // pytest配置文件 ├── README.md // 帮助文档 ├── requirements.txt // 依赖包 ├── run_all.py // 调试执行 └── 架构设计.xmind //导图
五、方法封装==自动化测试框架(以下源码请联系作者获取) ==
封装requests请求方法导入requests包,使用requests.request()方法,进行封装请求方法到ApiRequest类中:
封装公共方法注:此封装方法需要根据请求的方式(GET/POST),来传入封装的方法中进行请求。
封装获取文件路径的公共方法,便于拼接文件路径
封装读取文件方法
yaml文件读取封装,需要传入文件参数来获取文件数据
excel文件读取封装,也需要传入文件路径,直接继承ReadYaml即可
调试成功打印数据:
断言封装传入接口相应的数据及预期结果,进行判断
封装log日志方法日志封装中需要传入日志项目名及日志等级,以便灵活调整日志信息
调试成功打印数据:
数据文件(配置文件/测试用例数据文件)
config环境配置文件
yaml测试数据文件
excel测试数据文件
六、编写自动化用例脚本 test_case目录中新建用例文件,并编写用例导入相应包,编写用例类及测试用例
运行调试自动化脚本 使用Allure输出自动化测试报告 七、持续集成 部署jenkins环境待更新
配置jenkins并安装必要插件待更新
上传代码到git待更新
jenkins配置自动化项目待更新
运行调试项目待更新
优化自动化项目待更新
八、其他自动化框架 无需写代码的自动化框架接口自动化框架 接口自动化测试框架【windows版】: jmeter + ant + jenkins 待更新
接口自动化测试框架【linux版】: jmeter + ant + jenkins 待更新
接口自动化测试框架: jmeter + maven + jenkins 待更新
UI自动化框架 UI自动化框架Robotframework+Selenium2Library库 待更新
要写代码的接口自动化框架接口自动化框架 接口自动化测试框架:python+request+pytest+allure 待更新
接口自动化测试框架:python+request+unittest+allure 待更新
接口自动化测试框架:java+httpclient+testng+allure 待更新
UI自动化框架 UI自动化框架:python+selenium/appium+pytest+allure 待更新
UI自动化框架:python+selenium/appium+unittest+allure 待更新
============================= 提升自己 ==========================
微信公众号获取更多干货:sanshucs
> > > 咨询交流、进群,请加微信,备注来意:sanshu1318 (←点击获取二维码)
> > > 【自动化测试实战】python+requests+Pytest+Excel+Allure,测试都在学的热门技术:
【接口自动化测试实战】python+requests+Pytest+Excel+Allure - 三叔测试笔记 - 博客园
> > > 【热门测试技术,建议收藏备用】项目实战、简历、笔试题、面试题、职业规划:
【热门测试技术,建议收藏备用】项目实战、简历、笔试题、面试题、职业规划 - 三叔测试笔记 - 博客园
> > > 学习路线+测试实用干货精选汇总:
学习路线+测试实用干货精选汇总(持续更新中。。。) - 三叔测试笔记 - 博客园
> > > 声明:如有侵权,请联系删除。
============================= 升职加薪 ==========================
更多干货,正在挤时间不断更新中,敬请关注+期待。