# Web UI测试-BDD行为驱动开发测试_selenium **Repository Path**: dev_test_zz/uiautotest_pytest_bdd ## Basic Information - **Project Name**: Web UI测试-BDD行为驱动开发测试_selenium - **Description**: 本框架是基于Python+Pytest+selenium+BDD实现的Web UI自动化测试框架。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: https://www.gitlink.org.cn/zone/tester - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2023-11-28 - **Last Updated**: 2023-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一、框架介绍 本框架是基于pytest_bdd实现的Web UI自动化测试框架。 * git地址: [https://gitlink.org.cn/floraachy/uiautotest_pytest_bdd.git](https://gitlink.org.cn/floraachy/uiautotest_pytest_bdd.git) * 项目参与者: floraachy * 技术支持邮箱: 1622042529@qq.com * 个人主页: [https://www.gitlink.org.cn/floraachy](https://www.gitlink.org.cn/floraachy) * 测试社区地址: [https://www.gitlink.org.cn/zone/tester](https://www.gitlink.org.cn/zone/tester) * 入群二维码:[https://www.gitlink.org.cn/floraachy/apiautotest/issues/1](https://www.gitlink.org.cn/floraachy/apiautotest/issues/1) 对于框架任何问题,欢迎联系我! 注意:此框架代码不再更新。可移步: - UI自动化测试框架_selenium https://www.gitlink.org.cn/floraachy/uiautotest - Web UI测试-基于Playwright实现 https://gitlink.org.cn/floraachy/uiautotest_playwright ## 二、实现功能 - 基于PO设计模式结合,该平台可实现测试用例的自动化执行及自动化测试报告的生成同时包括自动化测试执行时,用例失败的截图操作。 - 使用webdriver_manager自动下载webdriver,告别手动下载,再也不用担心webdriver版本问题了。 - 采用BDD模式编写测试用例,简洁明了 - 支持通过命令行指定运行环境,实现环境一键切换,解决多环境相互影响问题 - 采用loguru管理日志,可以输出更为优雅,简洁的日志 - 钉钉、企业微信通知: 支持多种通知场景,执行成功之后,可选择发送钉钉、或者企业微信、邮箱通知 - 使用pipenv管理虚拟环境和依赖文件,可以使用`pipenv install`一键安装依赖包。 - 多种报告随心选择:框架支持pytest-html以及Allure测试报告,可以动态配置所需报告。 - 支持利用allure设置用例优先级,运行指定优先级的用例。 ## 三、目录结构 暂略 ## 四、依赖库 ``` pytest = "==6.2.5" requests = "==2.26.0" loguru = "*" pytest-rerunfailures = "*" faker = "*" yagmail = "*" selenium = "*" pyautogui = "*" pywinauto = "*" allure-pytest = "*" webdriver-manager = "*" requests-toolbelt = "*" pytest-bdd = "*" sttable = "*" ``` ## 五、安装教程 1. 通过Git工具clone代码到本地 或者 直接下载压缩包ZIP ``` git clone https://gitlink.org.cn/floraachy/uiautotest_pytest_bdd.git ``` 2. 本地电脑搭建好 python环境,我使用的python版本是3.9 注意:使用allure需要配置好jdk环境,且jdk不能安装在自定义目录。 3. 安装pipenv ``` # 建议在项目根目录下执行命令安装 pip install pipenv ``` 4. 使用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)删除 `data`目录下所有文件 2)删除`page`目录下所有文件 3)删除 `test_case`目录下所有编写的用例 注意:conftest.py文件不需要删除,只需要移除里面与项目相关的部分即可。 ### 4. 编写测试用例 暂略 ## 七、运行自动化测试 ### 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 -driver chrome (使用chrome浏览器运行测试用例) ``` 注意: - 如果pycharm.interpreter拥有了框架所需的所有依赖包,可以通过pycharm直接在`run.py`中右键运行 ## 八 、详细功能说明 ### todo 待补充 ## 九、初始化项目可能遇到的问题 - [测试机安装的是python3.7,但是本框架要求3.9.5,怎么办?](https://www.gitlink.org.cn/zone/tester/newdetail/245) - [无法安装依赖包或者安装很慢,怎么办?](https://www.gitlink.org.cn/zone/tester/newdetail/244) ## 赞赏 如果这个库有帮助到你并且你很想支持库的后续开发和维护,那么你可以扫描下方二维码随意打赏我,我将不胜感激 ![打赏](https://www.gitlink.org.cn/api/attachments/437395)