当前位置: 首页> 健康> 科研 > 基于Python+Pytest+Playwright的UI自动化测试框架

基于Python+Pytest+Playwright的UI自动化测试框架

时间:2025/7/11 0:23:52来源:https://blog.csdn.net/FloraCHY/article/details/140185164 浏览次数:0次

文章目录

    • 一、框架介绍
    • 二、实现功能
    • 三、框架目录结构
    • 四、依赖库
    • 五、安装教程
    • 六、如何创建用例
      • 1. 修改配置文件 `config.settings.py`
      • 2.删除框架中的示例用例数据
      • 3. 编写测试用例
    • 七、运行自动化测试
      • 方式一:使用pipenv管理虚拟环境
        • 1. 激活已存在的虚拟环境
        • 2. 运行
      • 方式二:依赖包安装在本机
    • 八 、初始化项目可能遇到的问题
    • Playwright Documentation
    • pytest-playwright Documentation
    • 联系我
      • 所有我的项目
      • 博客与社区
      • 加入项目说明

一、框架介绍

本框架是基于Python+Pytest+Playwright的UI自动化测试框架。

本框架要求使用者对playwright有一定的了解才能上手使用。

二、实现功能

  • 支持通过命令行指定浏览器,选择需要运行的浏览器。
  • 建立接口池,处理用例依赖数据
  • 支持通过命令行指定运行环境,实现环境一键切换,解决多环境相互影响问题。
  • 采用pageobject模式,管理页面元素以及操作,提高项目的代码重用性
  • 采用loguru管理日志,可以输出更为优雅,简洁的日志
  • 钉钉、企业微信通知: 支持多种通知场景,执行成功之后,可选择发送钉钉、或者企业微信、邮箱通知
  • 使用pipenv管理虚拟环境和依赖文件,可以使用pipenv install一键安装依赖包。

三、框架目录结构

# 框架目录结构
├────.auth/
├────.gitignore
├────config/  配置文件层,存放整个项目需要用到的配置项
│    ├────__init__.py
│    ├────allure_config/
│    │    ├────http_server.exe  生成的一个http服务,用于放在allure报告压缩包里面,在windows环境下不安装allure也能打开查看报告
│    │    ├────logo.svg   当前部门或者项目logo,用于替换allure报告里面的logo。注意:代码里面无替换,是手动在lib/allure里面替换的
│    │    └────双击打开Allure报告.bat    一个用于在windows环境下不安装allure也能打开查看报告bat文件
│    ├────global_vars.py   全局变量,用于保存测试过程中变量,方便调用
│    ├────path_config.py    项目路径配置文件,注意:目录名称更改,需要更改配置文件
│    └────settings.py    项目配置文件,用于保存一些配置数据
└────utils/   公共模块,将一些公共函数、方法以及通用操作进行封装
│    ├────__init__.py
│    ├────assertion_utils/   接口断言的处理
│    │    ├────__init__.py
│    │    ├────assert_control.py
│    │    └────assert_function.py
│    ├────base_utils/   playwright基类,包括UI和API
│    │    ├────__init__.py
│    │    ├────base_page.py   基类,定义项目所需的基础方法,对playwright一些常用的页面进行二次封装,提高项目的代码重用性
│    │    ├────base_request.py  基类,定义项目所需的基础方法,对playwright的接口进行二次封装
│    │    └────request_control.py 请求playwright的接口进行再次封装,包括请求前数据处理,请求时日志记录,请求后断言,数据提取
│    ├────data_utils/   处理数据的一些方法
│    │    ├────__init__.py
│    │    ├────data_handle.py
│    │    ├────eval_data_handle.py
│    │    ├────extract_data_handle.py
│    │    └────faker_handle.py
│    ├────database_utils/  数据库处理
│    │    ├────__init__.py
│    │    └────mysql_handle.py
│    ├────files_utils/  文件处理
│    │    ├────__init__.py
│    │    ├────files_handle.py
│    │    └────yaml_handle.py
│    ├────logger_utils/  日志处理
│    │    ├────__init__.py
│    │    └────loguru_log.py
│    ├────models.py   模型类
│    ├────notify_utils/   通知处理
│    │    ├────__init__.py
│    │    ├────dingding_bot.py
│    │    ├────wechat_bot.py
│    │    └────yagmail_bot.py
│    ├────report_utils/  报告处理
│    │    ├────__init__.py
│    │    ├────allure_handle.py
│    │    ├────get_results_handle.py
│    │    ├────platform_handle.py
│    │    └────
关键字:基于Python+Pytest+Playwright的UI自动化测试框架

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: