Metadata-Version: 2.4
Name: multi-proto-agent
Version: 0.1.1
Summary: 旨在简化基于多种协议的消息通信,内置了对JSON和Protobuf的序列化、反序列化支持，并设计为线程安全，让你可以轻松创建和管理成百上千个并发通信代理。
Home-page: https://gitee.com/flinttina/multi-proto-agent
Author: Shi Feng
Author-email: 330550850@qq.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: allure-pytest>=2.13.5
Requires-Dist: allure-python-commons>=2.13.5
Requires-Dist: altgraph>=0.17.4
Requires-Dist: attrs>=24.2.0
Requires-Dist: bcrypt>=5.0.0
Requires-Dist: beautifulsoup4>=4.12.3
Requires-Dist: blinker>=1.9.0
Requires-Dist: certifi>=2024.7.4
Requires-Dist: cffi>=2.0.0
Requires-Dist: chardet>=5.2.0
Requires-Dist: charset-normalizer>=3.3.2
Requires-Dist: click>=8.2.1
Requires-Dist: colorama>=0.4.6
Requires-Dist: cryptography>=46.0.1
Requires-Dist: et_xmlfile>=2.0.0
Requires-Dist: execnet>=2.1.1
Requires-Dist: Flask>=3.1.1
Requires-Dist: gevent>=25.9.1
Requires-Dist: greenlet>=3.2.4
Requires-Dist: idna>=3.7
Requires-Dist: iniconfig>=2.0.0
Requires-Dist: invoke>=2.2.0
Requires-Dist: itsdangerous>=2.2.0
Requires-Dist: Jinja2>=3.1.4
Requires-Dist: jpype1>=1.6.0
Requires-Dist: jsonpath-ng>=1.7.0
Requires-Dist: loguru>=0.7.2
Requires-Dist: lxml>=5.3.0
Requires-Dist: MarkupSafe>=3.0.2
Requires-Dist: numpy>=2.1.3
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: packaging>=25.0
Requires-Dist: paramiko>=4.0.0
Requires-Dist: pefile>=2023.2.7
Requires-Dist: pluggy>=1.5.0
Requires-Dist: ply>=3.11
Requires-Dist: protobuf>=5.28.3
Requires-Dist: py>=1.11.0
Requires-Dist: pycparser>=2.23
Requires-Dist: pyinstaller>=6.14.2
Requires-Dist: pyinstaller-hooks-contrib>=2025.5
Requires-Dist: PyNaCl>=1.6.0
Requires-Dist: pytest>=8.3.3
Requires-Dist: pytest-html>=4.1.1
Requires-Dist: pytest-metadata>=3.1.1
Requires-Dist: pytest-order>=1.3.0
Requires-Dist: pytest-ordering>=0.6
Requires-Dist: pytest-repeat>=0.9.4
Requires-Dist: pytest-timeout>=2.3.1
Requires-Dist: pytest-xdist>=3.6.1
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: pytz>=2024.2
Requires-Dist: pywin32-ctypes>=0.2.3
Requires-Dist: PyYAML>=6.0.2
Requires-Dist: requests>=2.32.3
Requires-Dist: setuptools>=80.9.0
Requires-Dist: six>=1.16.0
Requires-Dist: soupsieve>=2.6
Requires-Dist: tzdata>=2024.2
Requires-Dist: urllib3>=2.2.2
Requires-Dist: uv>=0.8.22
Requires-Dist: websocket-client>=1.9.0
Requires-Dist: Werkzeug>=3.1.3
Requires-Dist: win32-setctime>=1.1.0
Requires-Dist: xmindparser>=1.0.9
Requires-Dist: zope.event>=6.0
Requires-Dist: zope.interface>=8.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# pybot_qp

## 项目介绍
这是一个基于Python的自动化测试框架，用于测试棋牌游戏项目。

## 环境配置
在运行测试之前，需要设置环境变量：
- `env_type`: 指定测试环境，可选值为test、zlf、sf等

## 运行测试
```bash
# 设置环境变量并运行测试
env_type=test python -m pytest test_cases/mail/test_Mail_ReqGetMailList.py -v

# 或者在Windows PowerShell中：
$env:env_type="test"; python -m pytest test_cases/mail/test_Mail_ReqGetMailList.py -v

# 运行特定测试用例
env_type=test python -m pytest test_cases/mail/test_Mail_ReqGetMailList.py::test_有邮件时_获取邮件列表_返回正确列表 -v
```

## 项目结构
- `test_cases/`: 测试用例目录
- `prefabs/`: 测试预制件目录
- `utils/`: 工具类目录
- `data/`: 配置文件目录
- `proto/`: 协议文件目录
- `python_protos/`: 协议Python文件目录

## 配置文件
- `data/test_config.yaml`: 测试环境配置文件
- `data/protos_config.yaml`: 协议配置文件

## 启动环境

```terminal
# clone
git clone https://git-lfs.ppgame.com/qa/pybot.git
# 生成虚拟环境
python -m venv env

# 启动虚拟环境
./env/Scripts/activate
如果出现错误：“.\env\Scripts\activate : 无法加载文件 D:\python_workspace\pybot\env\Scripts\Activate.ps1，因为在此系统上禁止运行脚本。”尝试将 PowerShell 的执行策略更改为允许加载未签名的脚本。打开 PowerShell 并以管理员身份运行，然后输入以下命令：Set-ExecutionPolicy RemoteSigned

# 下载依赖包
pip install -r requirements.txt
```

## 数据工厂

```terminal
# 所有造数脚本，默认在工程的根目录执行。

# 造消极行为的数据
# 参数说明
python .\data_factory\generate_negative_data.py -h
# 范例
python .\data_factory\generate_negative_data.py --env q8 --uid 139896591 --modeType 2 --modeID 1001 --map 9005  --type 1
```
