把框架的执行日志收集回来在 web 端实时展示
那可以考虑在框架这边搞个录屏功能,执行完之后看录屏也方便调试,我们目前 web 自动化用 selenoid_ui 执行,有录屏功能,app 自动化还没有
你说的调试是指编写过程中的调试(类似写代码的断点调试),还是后面多次运行偶尔出现的出错后问题排查定位?
如果是前者,看是否可以支持一个一个 action 手动执行 + 随时手动插入 action 功能。之前看到站内开源的 opendx 这块做的挺不错,但它是针对 app 的,你可以看下看是否有可以借鉴的点?
不过从习惯写代码的角度,再怎么好的 web 平台,调试起来还是没有 ide 的断点调试那么强大。
我觉得你这个最简单的办法就是可以让用户吧本地作为执行机,然后 debug 的时候 可以吧本地当做执行机去执行
请教下,用例都是单独没有关联的吗?每次执行都需要重启 chrome 吗?
每次截一下图?同步存到执行结果的日志目录里面?
直接改测试框架
zalenium 具有录屏和实时预览功能,可以进行调试。不用谢~
code-server 了解一下,集成到你的平台里面,装好插件,就是个 cloud-IDE,调试应该还是比较方便的
web 端:
1、debug 的话,selenium hub 作为常驻服务,用户自己的机器作为 node 注册上去 (可以结合下面 zalenium),指定对应的服务执行调试 (可以百度下 selenium grid 关键字)。Remote 还可以拓展通过 sessionId 调试已打开的浏览器。
2、zalenium 作为分布式执行机 -- 用于任务调度的执行,包含了录像和实时查看执行结果;
App 的话:
本身可以支持无线方式吧,集中进行管理即可。
开源好像也有个云机的管理平台。
我现在使用消息队列,每个人的框架,都往该 MQ 订阅消息。当 web server 收到任务请求,向 MQ 生产消息。本地的框架收到消息后,判断标识,true 的话,就开始本地环境执行测试。
用例页:
用例详情:
封装的操作关键字:["点击","坐标点击","输入","清除","双击","长按","前往","睡眠","上滑","下滑","左滑","右滑","android 按键操作","ios 键盘操作","切到 webview","切到 NATIVE","切到新 window","切到旧 window","登录","登出"]
开始测试页:
调试地址即 selenium grid master 的地址。
调试环境即 本地执行框架的标识
报告页:
大佬请教下,调试这个功能做的如何了?在平台点击调试,可以在用户本地执行查看预览效果么?
可以的。我的做法本地启动 selenium grid 将浏览器和移动设备接入,然后本地启动执行框架,在平台开始任务界面提交本地的 selenium grid master ip 和需要的浏览器后和调式环境标识后,服务端再发布 MQ 消息,本地框架收到 MQ 消息,就可以本地执行了。
楼主最终如何解决的呢?