日常项目测试中,总是在不停的敲 linux 命令,切换目录,执行脚本。比如获取短信验证码,为了某个场景去执行某个脚本,甚至于测试环境的更新部署。这些都需要不停的敲打 linux 命令,有时候忘记路径和脚本,还要专门去找资料。非常浪费时间。 如果有个平台可以把这些管理起来就好了。但是一般的中小型团队是没有测试开发的,所以这个想法无从实施。
账号配置:配置了连接的服务器的 ip,账号,密码,端口(在这个服务器里执行脚本)
环境配置;比如公司有 3 套环境,发送 push 的脚本在 3 套环境都有,执行的路径分别是
/home/app/multiple/100/go_src/src/cfds
/home/app/multiple/200/go_src/src/cfds
/home/app/multiple/300/go_src/src/cfds
我们把/home/app/multiple/100/;/home/app/multiple/200/;/home/app/multiple/300/提取出来作为环境的路径,剩下的所有环境下相同的路径部分作为脚本
脚本配置:把环境配置里截取的剩下的放到脚本里,这样就可以只需配置一个脚本,在不同环境里运行时,运用下拉框的形式选择,组合拼接后执行。
通过在脚本配置里配置脚本的名称,要执行的脚本,传的参数等,配置成功后显示在对应的页面。
如:./gettoekn --mobile=18656560106,需要写成./gettoekn --mobile=CMD;然后执行时在页面上输入的手机号,传到后端,执行命令时自动替换掉 CMD
对于这种类似于多个传参的:./cli_push -clientid=1 -uid=10086 -type=3 ,(根据 ios/Android,用户 uid,push 的类型),就写成./cli_push CMD,页面上的传的参数是-clientid=1 -uid=10086 -type=3。如果脚本不需要传递参数,也可以直接./cli_push CMD,界面上不填写,这样就是一个 “” 替换了 CMD,对所有类型所有用户发送 push.
其他如服务部署功能,监控功能类似以上
基于 python3,Django2,xadmin2
1.进入项目根目录:pip install -r requirements(xadmin2 会 pip 失败,请参考https://blog.csdn.net/yuhan963/article/details/79091248)
2.python manage.py makemigrations
3.python manage.py migrate
4.python manage.py createsuperuser
5.python manage.py runserver 0.0.0.0:8000
因为上传的 github 里包含我之前使用的 sqlite3,所以也可以跳过 2,3,4 步骤。
另外:
该平台还支持在发布菜单页里,配置服务监控和代码部署。其中代码部署运用 websocket,实时显示服务端部署日志。当然,现在很多公司都有自己的代码部署平台,或者如 jenkins 上持续集成完成部署。这个功能稍微多余,但适用于没有自己的部署平台的团队。
附上 git 的地址:https://github.com/wss1029681084/ScrpitManage
多谢各位~
@wangshan1 修改 D:\Envs\django-xadmin\lib\site-packages\xadmin-0.6.1-py3.6.egg\xadmin\plugins\language.py
MIDDLEWARE_CLASSES 改成 MIDDLEWARE
@wangshan1 最后一句貌似一样的,其他的没记得
@xuwangcheng14 完整报错是这样吗
File "D:\Envs\django-xadmin\lib\site-packages\xadmin-0.6.1-py3.6.egg\xadmin\plugins\language.py", line 24, in
if settings.LANGUAGES and ‘django.middleware.locale.LocaleMiddleware‘ in settings.MIDDLEWARE_CLASSES:
File "D:\Envs\django-xadmin\lib\site-packages\django\conf_init.py", line 57, in __getattr_
val = getattr(self._wrapped, name)
AttributeError: ‘Settings‘ object has no attribute ‘MIDDLEWARE_CLASSES‘
python 版本 3.6
AttributeError: 'Settings' object has no attribute 'MIDDLEWARE_CLASSES'
@wangshan1 帮忙看看?
@vz_1098 我这个部署功能是给那些暂时没有自己的部署工具或平台的同学用的
而且,在配置脚本执行集合这点上,jenkins 就不太好弄了。
平台化看起来更方便,易操作啊。
Jenkins 不可以解决嘛
@Benjamin
知音啊!!!
解决测试业务的很好定制产品,思路学习了。