一,团队内部基础库封装
为了团队开发效率,针对常用的一些功能进行抽象并封装成库,目前被多数使用的有如下几个:
1. go池包:主要用来替换原生go,解决go的func没有进行panic捕捉导致程序挂掉问题以及限制业务go协程数量,避免实际业务接口误触无限增长go导致程序挂掉问题
2. 文件监听包:主要还是利用fsnotify包,但为了防止事件触发后,处理文件也被频繁触发,所以对fsnotify进行一个二次封装
3. 数据库操作包:对mysql, mongo, sqlite进行统一接口封装,使用户只需要在初始化数据库句柄时指定类型,后续操作都可以统一
4. 文件打包:使用同个接口可以对zip/tar.gz/tar.bz2进行压缩解压缩操作
5. SECS/GEM底层库: HSMS/SECS-II内容golang实现
...
二,设备自动化测试平台项目
1. 针对具有主从架构测试设备,实现设备发现以及设备关联
2. 自动根据工单,工序等信息获取测试软件包,进行分发
3. 根据不同工序的规则实现测试程序配置,解压缩并启动
4. 在测试完成时收集测试数据并回传给MES
5. 在批次完成时,停止工具,清除缓存并上传日志到指定服务器