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

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

一、框架介绍

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

  • 测试社区地址: https://www.gitlink.org.cn/zone/tester
  • 入群二维码:https://www.gitlink.org.cn/floraachy/apiautotest/issues/1

对于框架任何问题,欢迎联系我!

二、实现功能

  • 支持通过命令行指定浏览器,选择需要运行的浏览器。
  • 支持通过命令行指定运行环境,实现环境一键切换,解决多环境相互影响问题。
  • 采用loguru管理日志,可以输出更为优雅,简洁的日志
  • 钉钉、企业微信通知: 支持多种通知场景,执行成功之后,可选择发送钉钉、或者企业微信、邮箱通知
  • 使用pipenv管理虚拟环境和依赖文件,可以使用pipenv install一键安装依赖包。

三、依赖库

pytest = "==6.2.5"
requests = "==2.26.0"
loguru = "*"
pytest-rerunfailures = "*"
faker = "*"
yagmail = "*"
pywinauto = "*"
allure-pytest = "*"
requests-toolbelt = "*"
pytest-bdd = "*"
sttable = "*"
playwright = "*"
pytest-playwright = "*"

四、安装教程

  1. 通过Git工具clone代码到本地 或者 直接下载压缩包ZIP
https://gitlink.org.cn/floraachy/uiautotest_playwright.git
  1. 本地电脑搭建好 python环境,我使用的python版本是3.9

  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)删除 test_cases目录下所有test开头的文件
2)删除test_features目录下所有文件
注意:如果想先体验一下框架,可以先保留我写的示例用例。

4. 编写测试用例

1. 在test_features目录新建一个.feature文件,按照BDD模式编写测试用例
2. 基于.feature文件, 在 test_cases目录下新建一个test_*py文件,实现测试用例

此处需要对BDD知识有一定的了解,可以参考文章:Pytest-BDD行为驱动开发测试

六、运行自动化测试

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

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

2. 运行

在pycharm>terminal或者电脑命令窗口,进入项目根路径,执行如下命令(如果依赖包是安装在虚拟环境中,需要先启动虚拟环境)。
  > 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 -browser webkit 使用webkit浏览器运行测试用例
  > python run.py -browser chromium webkit 使用chromium和webkit浏览器运行测试用例

注意:文章来源地址https://www.toymoban.com/news/detail-731492.html

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

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

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

查看源码

  • git地址: https://gitlink.org.cn/floraachy/uiautotest_playwright.git
  • 项目参与者: floraachy
  • 个人主页: https://www.gitlink.org.cn/floraachy

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

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

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

相关文章

  • 基于Playwright自动化测试部署方案

    基于playwright框架,搭建了自动化测试项目,在服务器上使用Docker起容器跑镜像,镜像内容基于playwright的官方镜像,并向其中移入了host文件,以便切换测试用例运行所在的环境(测试/线上环境)。 引入测试用例的管理后台,方便测试用例与测试报告的管理。管理后台中可以

    2024年02月13日
    浏览(42)
  • Pytest UI自动化测试实战实例

    序号 库/插件/工具 安装命令 1 确保您已经安装了python3.x 2 配置python3+pycharm+selenium2开发环境 3 安装pytest库 pip install pytest 4 安装pytest -html 报告插件 pip install pytest-html 5 安装pypiwin32库(用来模拟按键) pip install pypiwin32 6 安装openpyxl解析excel文件库 pip install openpyxl 7 安装yagmail发送报告

    2024年02月05日
    浏览(63)
  • 【自动化测试】Pytest+Appium+Allure 做 UI 自动化的那些事

    文本主要介绍下 Pytest+Allure+Appium 记录一些过程和经历。 法主要用了啥: Python3 Appium Allure-pytest Pytest Appium 不常见却好用的方法 Appium 直接执行 adb shell 方法 #Appium 启动时增加 --relaxed-security 参数 Appium 即可执行类似adb shell的方法 appium -p 4723 --relaxed-security #使用方法 def adb_shell(se

    2024年01月25日
    浏览(51)
  • 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日
    浏览(66)
  • Pytest+Selenium UI自动化测试实战实例(全)

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

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

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

    2024年02月11日
    浏览(62)
  • 【python自动化】Playwright基础教程——Keyboard键盘

    playwright模拟键盘操作 键盘事件提供了用于管理虚拟键盘的API,高级API是 keyboard.type() ,它使用的是原始字符再页面上生成对应的 keydown 、 keypress / input 和 keyup 事件。 模拟真实键盘操作进行更精细的控制可以使用 keyboard.down() 、 keyboard.up() 和 keyboard.insert_text() 手动触发事件。

    2024年02月22日
    浏览(38)
  • Python开源自动化工具Playwright安装及介绍

    目录 前言 1、Playwright介绍 2、Playwright安装 3、实操演示 4、小结 总结: 微软开源了一个非常强大的自动化项目叫 playwright-python 它支持主流的浏览器,包含: Chrome、Firefox、Safari、Microsoft Edge 等,同时支持以 无头模式、有头模式 运行,并提供了同步、异步的 API,可以结合 P

    2024年02月16日
    浏览(40)
  • UI自动化测试:Selenium+PO模式+Pytest+Allure整合

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

    2024年02月08日
    浏览(87)
  • Web UI 自动化测试框架(Pytest+Selenium+Allure+Loguru)

    本框架主要是基于 Python + pytest + selenium + Allure + loguru + 邮件通知/企业微信通知/钉钉通知 实现的WEB UI自动化框架。 基于PageObject设计模式结合,该平台可实现测试用例的自动化执行及自动化测试报告的生成同时包括自动化测试执行时,用例失败的截图操作。 使用webdriver_manag

    2024年02月04日
    浏览(119)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包