# Autotestplat **Repository Path**: omanly/Autotestplat ## Basic Information - **Project Name**: Autotestplat - **Description**: 一站式自动化测试平台及解决方案 1、自动化平台开发方案 1.1、功能需求 支持 API、AppUI、WebUI 性能等自动化测试,集成实现测试用例管理、产品管理、任务计划、测试报告、定时任务或持续集成等功能模块。使自动化测试的过程达到数据、脚本、任务分离易于维护和管理,成本更低、数据更直观、产出更快等目标,甚至能让不会代码的手工业务测试人员参与后续自动化测试工作等。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 5 - **Created**: 2021-11-18 - **Last Updated**: 2025-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Autotestplat ##一站式自动化测试平台及解决方案 ###自动化平台开发 ####1、自动化平台开发方案 ####1.1、功能需求 支持 API、AppUI、WebUI 性能等自动化测试,集成实现测试用例管理、产品管理、任务计划、测试报告、定时任务或持续集成等功能模块。使自动化测试的过程达到数据、脚本、任务分离易于维护和管理,成本更低、数据更直观、产出更快等目标,甚至能让不会代码的手工业务测试人员参与后续自动化测试工作等。 ####1.2、后期优化计划 后期有待优化的功能有平台 UI 优化、脚本管理优化、测试报告优化、性能测试模块优化、邮件模块优化等。 将来会考虑集成人工智能、机器学习、Devops 装备等技术。 ###使用Python版本3.6.4 ###1、项目配置虚拟环境venv; ###2、安装(pip install)site-packages, ``` Django==2.0.1 celery==4.4.7 Django-celery==3.2.2 django-redis==4.11.0 redis==2.10.6 celery-with-redis==3.0 django-bootstrap4==0.0.4 bootstrap4 PyMySQL Locust requests selenium==3.8.1 Appium-Python-Client==0.26 ``` 下载installpackage_Autotestplat.rar 链接:https://pan.baidu.com/s/13CcX3GtskONG0UqlJq8TaA 提取码:5jqo ###3、构建 Django后端 ####迁移同步数据并创建相应的表 *生成迁移文件 ``` python manage.py makemigrations ``` *执行迁移文件 ``` python manage.py migrate ``` ####创建 admin 超级用户 ``` python manage.py createsuperuser ``` ####启动redis,进入解压缩目录,在cmd(命令行)中执行 ``` redis-server redis.windows.conf ``` ####启动Celery定时任务 *启动worker,任务消费/任务执行 ``` python manage.py celery worker -l info ``` *启动定时任务,任务调度/定时任务 ``` python manage.py celery beat -l info ``` *启动监控,运行的worker和任务监控 --frequency,每秒一个快照,这是一个浮点数描述的频率,频率是用来控制相机线程唤醒的间隔,在很短的时间内,它会被唤醒去检查是否有新的事件发生,例如:--frequency=10.0,表示10秒一个快照。 --maxrate,限制(相机)速度,用来控制多久照一个快照,可以通过/s ,/m, /h精确到秒,分,小时,例如:--maxrate=100/m, 表示一分钟一百次。 默认情况下速度限制是关闭的,这也就意味着每次--frequency 参数时间会照一个快照。 在一段时间以后事件也会过期,所以数据库并不会爆满。 成功的任务会在一天后删除, 失败会在三天后删除,其他状态的任务会在5天之后删除。 ``` python manage.py celerycam --frequency=10.0 ``` ####启动性能测试 * 单进程运行 ``` locust -f performance.py ``` * 开启master-slave,分布式 * 先开启master,master不会执行task任务,只做管理, * 参数--expect-workers 2,指定slave机的数据量(2),只有达到这个数量后才会运行 ``` locust -f performance.py --master locust -f performance.py --master --expect-workers 7 ``` * 再开个cmd(终端),开启slave,是本机 ``` locust -f performance.py --worker ``` * 再开个cmd(终端),开启slave,非本机,ip为master地址 ``` locust -f performance.py --worker --master-host=Master_IP ```