# pyautotest **Repository Path**: zhang-zewang/pyautotest ## Basic Information - **Project Name**: pyautotest - **Description**: web & app UI 与接口自动化测试框架 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2022-09-04 - **Last Updated**: 2024-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: 自动化测试, 并发测试, 远程测试 ## README # pyautoTest Web & APP UI 和接口自动化项目 ### 特点 新版本目前简化了分布式配置,抛弃掉并发测试,分离客户端脚本进行分布式测试。 客户端地址:https://gitee.com/zhang-zewang/pyautotest-client #### WEB UI * 全局配置浏览器启动/关闭。 * 远程分布式执行测试。 * 测试用例运行失败自动截图。 * 测试用例运行失败可以重跑。 * 测试数据参数化。 #### API * 全局配置网络请求会话。 * 测试用例之间数据重用 * 远程分布式测试。 * 测试用例运行失败可以重跑。 * 测试数据参数化。 #### APP UI * 全局配置APP启动/关闭。 * 测试用例运行失败自动截图。 * 测试用例运行失败可以重跑。 * 测试数据参数化。 ### 安装 ```shell python --version $ 3.7.9 ``` ```shell $ pip install -r requirements.txt ``` 注:python 版本是作者目前使用的版本,安装```requirements.txt```指定依赖库的版本,这是经过测试的,有时候新的版本或者其他python版本可会有错。 ### 项目结构 ![](tree.png) #### apiM 接口基础文件,由其他接口用例调用,直接使用class.value配置接口等信息, send()方法直接调用。output()方法输出参数入全局变量,input()方法调用 全局变量使用。 #### logs 测试过程中生成的日志 #### page UI测试中页面元素定位,UI用例中调用 #### remote_clinet 远程客户端文件,windows > ./client/client_start.exe. Linux > ./client/client_start.sh ##### 特点 第一种远程方式。目前仅支持selenium WEB UI 测试。 这种方式不要求远程机有python环境。需要java11以上的环境。 ##### 使用 1、配置文件 Runconfig.chrome_type = 'grid' remote_*等配置,具体请查看config.py 2、启动客户端Windows/Linux 3、启动测试 #### test_dir 测试用例目录。编写用例请参考pytest编写规则 #### test_report 测试报告目录,存放测试报告 #### 需要修改的依赖文件,请覆盖site-packages下的文件 因为修改部分源码,所以安装完成后需要覆盖部分包下的文件,该目录下是子目录 是需要覆盖的包名,再下级目录或文件为包下的同名目录或文件。 #### config.py 项目全局配置文件。 #### conftest.py pytest 配置文件,内部包含多个fixture。 #### database.py 数据库链接等封装方法文件,目前仅支持mysql #### globaltest.py 存放用例的输出参数的全局文件。 #### pytest.ini 配置文件,目前主要用来配置测试环境。test_base_url UI测试环境 base_url UI生产环境 test_base_ip API测试环境, base_ip API生产环境。 #### run_test.py 测试启动文件 ### 配置 请参考config.py文件进行配置 **注:新版本去掉并发测试,简化了分布式测试方式,请下载项目后查看注释。** ### 运行 **不支持在编辑器(pycharm/ VS code ...)中运行,请在 cmd(windows)/终端(Linux)下执行。** **2.0 新增并发与远程测试,启动方式不变,配置文件增加相关配置。** #### UI ```shell $ python run_tests.py (回归模式,生成HTML报告)(测试环境) $ python run_tests.py -rt ui -istest false(回归模式,生成HTML报告)(生产环境) $ python run_tests.py -m debug -rt ui (调试模式) ``` #### API ```shell $ python run_tests.py -rt api (回归模式,生成HTML报告)(测试环境) $ python run_tests.py -rt api -istest false (回归模式,生成HTML报告)(生产环境) $ python run_tests.py -m debug -rt =api (调试模式) ``` #### APP ```shell $ python run_tests.py -rt app (回归模式,生成HTML报告) $ python run_tests.py -m debug -rt =app (调试模式) ``` ### 目前遗留问题 无 ### 下一步计划 1、开发自动化测试平台。