项目简介
本项目是基于Python语言构建的UI自动化测试框架,借助Selenium和Appium工具,可实现Web和Android的UI自动化测试,甚至能在一个用例中同时启动web和android应用。框架采用PO设计模式与BDD理念,支持简单数据驱动、数据库操作,还具备数据生成器功能,灵活性较高。
项目的主要特性和功能
- 多平台支持:支持Web和Android的UI自动化测试,满足不同场景测试需求。
- 分层设计:运用PO设计模式和BDD理念,将项目分为Page、Suite、TestCase三层,提高代码复用性与可维护性。
- 数据驱动:输入参数高度参数化,通过不同测试数据组合实现不同测试场景。
- 数据库操作:可对数据库进行操作,满足无法从页面获取断言数据或清理系统数据等需求。
- 数据生成器:能按规则生成所需的数据字典,解决接口参数不可重复等问题。
- 多环境配置:支持多种环境配置,方便在不同环境下进行测试。
- 详细规范:包含编写规范和项目结构介绍,提高开发效率。
安装使用步骤
环境准备
- 安装Python3环境。
- 安装相关模块库:
pip3 install -r requirements.txt
。 - 下载浏览器驱动:对于Web的UI自动化测试,根据不同浏览器下载相应驱动(如Chrome浏览器需下载ChromeDriver驱动并注意版本对应),并放置指定位置。
- ubuntu:
sudo mv chromedriver /usr/bin/chromedriver
- mac:
sudo mv chromedriver /usr/local/bin
- windows:放在python安装路径的Scripts/文件下(如C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts)
- ubuntu:
配置说明
- 邮件发送:配置
config/email.yaml
文件,用于测试报告邮件发送,需配置邮箱相关信息。 - 环境参数:配置
config/env.yaml
文件,用于数据库连接、host设置;envDev.yaml
/envSt.yaml
分别为对应环境的配置信息,可添加更多环境(直接添加相应的envXx.yaml
文件,运行用例时使用Xx作为环境参数),多环境执行时,env.yaml
文件变为数据传输中介无需维护。
运行用例
main.py
脚本为功能测试用例执行统一入口。
1. 查看帮助:python3 main.py --help
```
usage: main.py [-h] [--env ENV] [--collection COLLECTION] --name NAME
optional arguments:
-h, --help show this help message and exit
--env ENV, -e ENV 环境变量参数,非必要参数
--collection COLLECTION, -c COLLECTION
测试用例集合名称,非必要参数(testcases中用于划分用例集合的文件夹名,当未划分用例集合时不需要)
--name NAME, -n NAME 测试用例名称,必要参数
``
2. **执行用例**:
python3 main.py -e $env -c $collection -n $name(在$env环境下,执行用例,$collection文件夹路径,$name文件名称或all(all即可该用例集下所有用例))
- 例:
python3 main.py -c api_test -n test_login- 例:
python3 main.py -c api_test -n all- 例:
python3 main.py -e St -c api_test -n all`
结果查看
- 测试执行后,结果会输出到控制台和日志文件(
result/logs
)。 - 可通过查看测试报告文件(
result/reports
),了解测试详情和结果。
注意:使用框架前,请确保已下载项目的源代码文件,并按上述步骤进行配置和运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】