pytest+python下的UI自动化基础框架

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest+python下的UI自动化基础框架相关的知识,希望对你有一定的参考价值。

整体设计模式:
技术图片

config目录:存放一些公共的静态文件,如项目名称,配置文件等这些环境变量(可以用其他组件替换,如sql,主要能把配置文件的内容被程序识别)。

httptrquest目录:存放接口代码,UI自动化因为其稳定性问题会出现有些地方出错导致后续无法进行,故添加接口操作。

initailize目录:初始化代码,用于存放初始化操作的代码,比如初始化一些全局变量,初始化webdriver等,应用于整个项目的代码。

test目录:真正执行的目录,用于存放测试用例的代码,会被pytest识别将其转化为可执行的测试用例(PS:该文件的目录名及其模块、类、方法名都要根据pytest的设置来进行设置);该目录下的代码都会被pytest装饰,控制执行顺序,执行依赖等操作。

testcase目录:为test目录服务,执行相关的操作,定位元素,执行操作,输出结果等等,该目录下的模块、方法都会被test目录下相应的代码调用实例化

testcase_utils: 辅助工具类,在操作过程中某些页面上有些公共的操作,如表格table定位,批量元素的输入,js操作等等,便于维护。

utils目录: 工具类,为整个项目的运行提供基础的操作,如读取文件,将yaml文件转化为WebElement类对象元素,日志、截图、测试报告、sql操作、装饰器、发送报告等基础操作。与testcase_utils目录最大的区别为该目录下的代码不会操作页面上的元素

yaml文件: 存放元素的定位方式,将页面元素转化为yaml静态文件

conftest.py文件: ytest固定文件,主要功能两个,初始化操作和记录运行结果;1.用于fixture装饰器的使用,初始化操作,创建全局唯一对象,将这些对象传递给initailize目录下的指定模块,全局共用 2.记录运行结果,整个运行失败时的操作,用于最后的分析操作

pytest.ini 文件,pytest固定文件,指定运行方式

以上是关于pytest+python下的UI自动化基础框架的主要内容,如果未能解决你的问题,请参考以下文章

pytest接口自动化测试框架 | 基于Pytest的Web UI自动化测试框架介绍

[python]pytest实现WEB UI自动化

Pytest 可视化测试报告之 Allure

pytest学习笔记 01

曲鸟全栈UI自动化教学:使用Pytest来搭建自动化测试框架

pytest接口自动化测试框架 | 修改Python traceback输出