update
本框架主要是基于 Python + pytest + selenium + pytest-html/Allure + loguru + 邮件通知/企业微信通知/钉钉通知 实现的WEB UI自动化框架。
对于框架任何问题,欢迎联系我!
pipenv install
├────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 = "*"
通过Git工具clone代码到本地 或者 直接下载压缩包ZIP
git clone https://gitlink.org.cn/floraachy/uiautotest.git
本地电脑搭建好 python环境,我使用的python版本是3.9。包括allure测试报告所需的java环境(安装jdk)。
安装pipenv
# 建议在项目根目录下执行命令安装 pip install pipenv
使用pipenv管理安装环境依赖包:pipenv install (必须在项目根目录下执行)
注意:使用pipenv install会自动安装Pipfile里面的依赖包,该依赖包仅安装在虚拟环境里,不安装在测试机。
如上环境都已经搭建好了,包括框架依赖包也都安装好了。
config.settings.py
1)确认RunConfig的各项参数,可以调整失败重跑次数rerun, 失败重跑间隔时间reruns_delay,当达到最大失败数,停止执行max_fail 2)确认测试完成后是否发送测试结果,由SEND_RESULT_TYPE控制,并填充对应邮件/钉钉/企业微信配置信息 3)指定日志收集级别,由LOG_LEVEL控制
rerun
reruns_delay
max_fail
config.global_vars.py
1)删除 case_data目录下所有文件 2)删除page_objects目录下所有文件 3)删除 test_case目录下所有编写的用例, conftest.py中的内容可以视情况保存或修改
case_data
page_objects
test_case
conftest.py
py
测试数据中需要存在字典case_common,用于配置allure报告,参考如下:
case_common
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"} ] }
pytest
> 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
注意:
run.py
如果这个库有帮助到你并且你很想支持库的后续开发和维护,那么你可以扫描下方二维码随意打赏我,我将不胜感激
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
一、框架介绍
本框架主要是基于 Python + pytest + selenium + pytest-html/Allure + loguru + 邮件通知/企业微信通知/钉钉通知 实现的WEB UI自动化框架。
对于框架任何问题,欢迎联系我!
二、实现功能
pipenv install
一键安装依赖包。三、目录结构
四、依赖库
五、安装教程
通过Git工具clone代码到本地 或者 直接下载压缩包ZIP
本地电脑搭建好 python环境,我使用的python版本是3.9。包括allure测试报告所需的java环境(安装jdk)。
安装pipenv
使用pipenv管理安装环境依赖包:pipenv install (必须在项目根目录下执行)
如上环境都已经搭建好了,包括框架依赖包也都安装好了。
六、如何创建用例
1. 修改配置文件
config.settings.py
1)确认RunConfig的各项参数,可以调整失败重跑次数
rerun
, 失败重跑间隔时间reruns_delay
,当达到最大失败数,停止执行max_fail
2)确认测试完成后是否发送测试结果,由SEND_RESULT_TYPE控制,并填充对应邮件/钉钉/企业微信配置信息 3)指定日志收集级别,由LOG_LEVEL控制2. 修改全局变量,增加测试数据
config.global_vars.py
3. 删除框架中的示例用例数据
1)删除
case_data
目录下所有文件 2)删除page_objects
目录下所有文件 3)删除test_case
目录下所有编写的用例,conftest.py
中的内容可以视情况保存或修改4. 编写测试用例
1. 在
page_objects
目录新建一个py
文件,用于管理元素的定位以及页面操作方法2. 在
case_data
目录下新建一个py
文件,用于管理测试用例中所需的测试数据测试数据中需要存在字典
case_common
,用于配置allure报告,参考如下:用例实际执行的数据,需要参考如下:
3. 在
test_case
目录编写测试用例pytest
命名规则。七、运行自动化测试
1. 激活已存在的虚拟环境
2. 运行
注意:
run.py
中右键运行八 、初始化项目可能遇到的问题
赞赏
如果这个库有帮助到你并且你很想支持库的后续开发和维护,那么你可以扫描下方二维码随意打赏我,我将不胜感激