阅读目录

前言 一、先来了解下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 - 三叔测试笔记 - 博客园 > > > 【热门测试技术,建议收藏备用】项目实战、简历、笔试题、面试题、职业规划:【热门测试技术,建议收藏备用】项目实战、简历、笔试题、面试题、职业规划 - 三叔测试笔记 - 博客园 > > > 学习路线+测试实用干货精选汇总:学习路线+测试实用干货精选汇总(持续更新中。。。) - 三叔测试笔记 - 博客园 > > > 声明:如有侵权,请联系删除。 ============================= 升职加薪 ==========================更多干货,正在挤时间不断更新中,敬请关注+期待。

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: