Web UI 自动化测试框架(Pytest+Selenium+Allure/Pytest-html+Loguru)

这篇具有很好参考价值的文章主要介绍了Web UI 自动化测试框架(Pytest+Selenium+Allure/Pytest-html+Loguru)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、框架介绍

本框架主要是基于 Python + pytest + selenium + Allure + loguru + 邮件通知/企业微信通知/钉钉通知 实现的WEB UI自动化框架。

二、实现功能

  • 基于PageObject设计模式结合,该平台可实现测试用例的自动化执行及自动化测试报告的生成同时包括自动化测试执行时,用例失败的截图操作。
  • 使用webdriver_manager自动下载webdriver,告别手动下载,再也不用担心webdriver版本问题了。
  • 支持通过命令行指定一个运行浏览器,切换浏览器无忧。
  • 支持通过命令行指定运行环境,实现环境一键切换,解决多环境相互影响问题
  • 采用loguru管理日志,可以输出更为优雅,简洁的日志
  • 钉钉、企业微信通知: 支持多种通知场景,执行成功之后,可选择发送钉钉、或者企业微信、邮箱通知
  • 使用pipenv管理虚拟环境和依赖文件,可以使用pipenv install一键安装依赖包。
  • 框架支持Allure测试报告,可以动态配置所需报告。
  • 支持利用allure设置用例优先级,运行指定优先级的用例。

三、目录结构

├────attachments/  保存测试过程中所属附件
├────case_data/  保存测试数据
├────case_utils/  与测试相关的工具类
├────common_utils/  公共的工具类
├────config/   相关配置文件
├────interface/   平台基础接口保存目录
├────lib/   第三方模块保存的目录
├────outputs/   测试报告及测试截图,日志保存的目录
├────page_objects/    封装页面元素定位和操作
├────test_case/    测试用例保存的目录
├────Pipfile
├────pytest.ini
├────README.md
├────.gitignore
├────run.py   主运行文件入口

四、依赖库

pytest = "==6.2.5"
requests = "==2.26.0"
loguru = "*"
pytest-rerunfailures = "*"
faker = "*"
yagmail = "*"
selenium = "*"
pyautogui = "*"
allure-pytest = "*"
webdriver-manager = "*"
requests-toolbelt = "*"

五、安装教程

  1. 通过Git工具clone代码到本地 或者 直接下载压缩包ZIP
git clone https://gitlink.org.cn/floraachy/uiautotest.git
  1. 本地电脑搭建好 python环境,我使用的python版本是3.9。包括allure测试报告所需的java环境(安装jdk)。

  2. 安装pipenv

# 建议在项目根目录下执行命令安装
pip install pipenv
  1. 使用pipenv管理安装环境依赖包:pipenv install (必须在项目根目录下执行)
   注意:使用pipenv install会自动安装Pipfile里面的依赖包,该依赖包仅安装在虚拟环境里,不安装在测试机。

如上环境都已经搭建好了,包括框架依赖包也都安装好了。

六、如何创建用例

1. 修改配置文件 config.settings.py

1)确认RunConfig的各项参数,可以调整失败重跑次数rerun, 失败重跑间隔时间reruns_delay,当达到最大失败数,停止执行max_fail
2)确认测试完成后是否发送测试结果,由SEND_RESULT_TYPE控制,并填充对应邮件/钉钉/企业微信配置信息
3)指定日志收集级别,由LOG_LEVEL控制

2. 修改全局变量,增加测试数据 config.global_vars.py

  1. ENV_VARS[“common”]是一些公共参数,如报告标题,报告名称,测试者,测试部门。后续会显示在测试报告上。如果还有其他,可自行添加
    2)ENV_VARS[“test”]是保存test环境的一些测试数据。ENV_VARS[“live”]是保存live环境的一些测试数据。如果还有其他环境可以继续增加,例如增加ENV_VARS[“dev”] = {“host”: “”, …}

3. 删除框架中的示例用例数据

1)删除 case_data目录下所有文件
2)删除page_objects目录下所有文件
3)删除 test_case目录下所有编写的用例, conftest.py中的内容可以视情况保存或修改

4. 编写测试用例

1. 在page_objects目录新建一个py文件,用于管理元素的定位以及页面操作方法
2. 在 case_data目录下新建一个py文件,用于管理测试用例中所需的测试数据
  • 测试数据中需要存在字典case_common,用于配置allure报告,参考如下:
case_common = {
    "allure_epic": "GitLink",
    "allure_feature": "登录模块",
}
  • 用例实际执行的数据,需要参考如下:
# allure_story以及severity用于配置allure报告,建议配置
# 字典命名可以自定义
# title字段建议保留,涉及到报告上的显示
login_pop_success = {
    "allure_story": "弹窗登录",
    "cases":
        [
            {"title": "弹窗登录: 正确用户名和密码登录成功", "user": "${login}", "password": "${password}",
             "run": False,
             "severity": "critical"}
        ]
}

3. 在 test_case目录编写测试用例
  • 注意:测试用例命令需要遵循pytest命名规则。

七、运行自动化测试

1. 激活已存在的虚拟环境

  • (如果不存在会创建一个):pipenv shell (必须在项目根目录下执行)

2. 运行

  > python run.py  (默认在test环境运行测试用例, 报告采用allure)
  > python run.py -m demo 在test环境仅运行打了标记demo用例, 默认报告采用allure
  > python run.py -env live 在live环境运行测试用例
  > python run.py -env=test 在test环境运行测试用例
  > python run.py -driver chrome  (使用chrome浏览器运行测试用例)
  > python run.py -env test  -report no -driver chrome-headless  在test环境,使用谷歌无头浏览器运行用例,并且生成allure html report

注意:

  • 如果pycharm.interpreter拥有了框架所需的所有依赖包,可以通过pycharm直接在run.py中右键运行

八 、初始化项目可能遇到的问题

  • 测试机安装的是python3.7,但是本框架要求3.9.5,怎么办?
  • 无法安装依赖包或者安装很慢,怎么办?

九、源码分享

  • git地址: https://gitlink.org.cn/floraachy/uiautotest.git
  • 项目参与者: floraachy
  • 技术支持邮箱: 1622042529@qq.com
  • 个人主页: https://www.gitlink.org.cn/floraachy
  • 测试社区地址: https://www.gitlink.org.cn/zone/tester
  • 入群二维码:https://www.gitlink.org.cn/floraachy/apiautotest/issues/1

对于框架任何问题,欢迎联系我!文章来源地址https://www.toymoban.com/news/detail-658706.html

到了这里,关于Web UI 自动化测试框架(Pytest+Selenium+Allure/Pytest-html+Loguru)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Pytest+selenium UI自动化测试实战实例

    今天来说说pytest吧,经过几周的时间学习,有收获也有疑惑,总之最后还是搞个小项目出来证明自己的努力不没有白费。 1    确保您已经安装了 python3.x 2    配置 python3+pycharm+selenium2 开发环境     3    安装pytest库 pip install pytest 4    安装pytest -html 报告插件 pip install pytest

    2024年02月05日
    浏览(71)
  • Selenium + Pytest自动化测试框架实战(上)

    今天呢笔者想和大家来聊聊selenium自动化+ pytest测试框架,在这篇文章里你需要知道一定的python基础——至少明白类与对象,封装继承;一定的selenium基础。这篇文章不会selenium,不会的可以自己去看selenium中文翻译网哟。 测试框架有什么优点呢 : 代码复用率高,如果不使用框

    2024年04月27日
    浏览(45)
  • Pytest+Selenium UI自动化测试实战实例(全)

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 , 免费获取软件测试全套资料,资料在手,涨薪更快 今天来说说pytest吧,经过几周的时间学习,有收获也有疑惑,总之最后还是搞个小项目出来证明自己的努力不没有白费 1    确保您

    2024年03月19日
    浏览(78)
  • 拥抱自动化测试,快速升职加薪丄Selenium+Pytest自动化测试框架教你如何做到

    引言 Selenium+Pytest自动化测试框架是目前最流行的自动化测试工具之一,其强大的功能和易用性援助许多开发人员和测试人员。 selenium自动化+ pytest测试框架禅道实战 选用的测试网址为我电脑本地搭建的禅道 conftest.py更改 config.ini更改 conf.py更改 page更改 page_element更改 page_obje

    2023年04月24日
    浏览(76)
  • UI自动化测试:Selenium+PO模式+Pytest+Allure整合

    本人目前工作中未涉及到WebUI自动化测试,但为了提升自己的技术,多学习一点还是没有坏处的,废话不多说了,目前主流的webUI测试框架应该还是selenium,考虑到可维护性、拓展性、复用性等,我们采用PO模式去写我们的脚本,本文档也主要整合了Selenium+PO模式+Pytest+Allure,下

    2024年02月08日
    浏览(103)
  • 2023最全最细的Selenium+Pytest自动化测试框架实战

                                      选前言#   selenium自动化+ pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承 一定的selenium基础——本篇不讲selenium,不会的可以自己去看selenium中文翻译网 测试框架简介# 测试框架有什么优点呢: 代码复用率高,

    2024年02月06日
    浏览(62)
  • 【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,学习模拟鼠标+模拟键盘进行相关操作(精)(四)

    1、了解元素交互的常用方法 2、学习如何对多选元素进行操作 3、 学习模拟鼠标进行相关操作 ( 本节目标 ) 4、 学习模拟键盘进行相关操作 ( 本节目标 ) 用于向 Web 浏览器提供虚拟化设备输入操作的低级接口.除了刚刚讲过的Web元素交互之外, Actions 接口 还提供了对指定输

    2024年03月24日
    浏览(89)
  • 使用pytest+selenium+allure实现web页面自动化测试

    测试文件 base 基本方法 data 测试数据 page web页面相关操作 image 测试截图 log 日志文件 report 测试报告文件 temp 临时文件 tool 文件读取,发邮件文件 TestCases 测试用例 在page下的__init__.py文件下配置 在base下创建一个webpage.py文件 在base下创建一个driver.py文件 在base下创建一个logger

    2024年02月03日
    浏览(65)
  • Pytest+Webdriver+Alluer的UI自动化测试框架

    作为web自动化的入门学习,搭建框架练习下 一、熟悉项目的测试框架的整体目录 二、 PIP安装完所需框架 1、编写main.py 2、设计登录获取鉴权 3、设计页面测试用例 testwzm.py 4、设计conftest.py 优化报告样式

    2024年02月11日
    浏览(67)
  • Pytest+selenium+allure+Jenkins自动化测试框架搭建及使用

    一、    环境搭建 1.    Python下载及安装 Python可应用于多平台包括windows, Linux 和 Mac OS X, 本文主要介绍windows环境下。你可以通过终端窗口输入 \\\"python\\\" 命令来查看本地是否已经安装Python以及Python的安装版本。     如未安装python, 推荐下载python 3.8.3以上版本,本文主要介绍window

    2024年01月18日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包