littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Python的Web与Android UI自动化测试框架

项目简介

本项目是基于Python语言构建的UI自动化测试框架,借助Selenium和Appium工具,可实现Web和Android的UI自动化测试,甚至能在一个用例中同时启动web和android应用。框架采用PO设计模式与BDD理念,支持简单数据驱动、数据库操作,还具备数据生成器功能,灵活性较高。

项目的主要特性和功能

  1. 多平台支持:支持Web和Android的UI自动化测试,满足不同场景测试需求。
  2. 分层设计:运用PO设计模式和BDD理念,将项目分为Page、Suite、TestCase三层,提高代码复用性与可维护性。
  3. 数据驱动:输入参数高度参数化,通过不同测试数据组合实现不同测试场景。
  4. 数据库操作:可对数据库进行操作,满足无法从页面获取断言数据或清理系统数据等需求。
  5. 数据生成器:能按规则生成所需的数据字典,解决接口参数不可重复等问题。
  6. 多环境配置:支持多种环境配置,方便在不同环境下进行测试。
  7. 详细规范:包含编写规范和项目结构介绍,提高开发效率。

安装使用步骤

环境准备

  1. 安装Python3环境。
  2. 安装相关模块库:pip3 install -r requirements.txt
  3. 下载浏览器驱动:对于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)

配置说明

  1. 邮件发送:配置config/email.yaml文件,用于测试报告邮件发送,需配置邮箱相关信息。
  2. 环境参数:配置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`

结果查看

  1. 测试执行后,结果会输出到控制台和日志文件(result/logs)。
  2. 可通过查看测试报告文件(result/reports),了解测试详情和结果。

注意:使用框架前,请确保已下载项目的源代码文件,并按上述步骤进行配置和运行。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】