从事测试工作以来,熟悉目前主流的 java系,python系,以及js系的各类测试框架。在实际项目落地过程中发现只是语法不一样,提供的API的功能都大同小异,对于自定义的功能都有着同样的局限,需要扩展。随着现在产品功能迭代加快对测试的快速验证能力越来越高,从而需要有对测试框架有扩展功能和对整个持续交付,部署集成的能力。
正好我在公司负责落地不同维度的自动化实施,对比单元,接口而言UI 的落地具有特殊性,因为我们的产品是基于Electron封装的跨平台应用,于是顺手研究了1下 Electron 并做了个 Demo 发现本质上也是基 Chrome 的,那当然是可以采用业界主流 SE 加上各种不同的测试驱动框架来完成,于是把当前能做Electron测试的找了个遍,只发现Macaca有这样的功能,眼前一亮,一顿操作之后发现并不支持路劲参数,也就是调不起来应用,查阅了一下 Electron 官网在测试和调试找到了 Spectron, WebDriverJs, WebdriverIO 三种不同的做法,其中就有 SE 支持的驱动库 WebDriverJs,于是就开始做了....
技术栈与公司保持一致(node ),第一次尝试:采用了 Mocha +Selenium-webdriver ,除了依赖的驱动版本需要手动指定以外其他正常使用,相信使用过 SE 的同学都有个心烦的事,就是下载的驱动版本与 Chrome 的版本对不上,然后要去手动找版本,如果你本地更新了又得找版本,Macaca 也有同样的问题,所以这是1个问题。虽然折腾1下也能用,但是发现用了测试框架那么多种,在实际落地之后会发现为了满足多端跨平台的需求导致了测试框架种类多,形态各异,一听就知道维护是个大问题,且对于新手来说学习成本较高,所以开始了第二次尝试采用Macaca 实现。但是之前也说过Macaca对electron应用支持不彻底,要是支持就完美的解决了 UI 的全平台支持了,而且随着 JS 各个端的发展, Electron 成为桌面解决方案的主流,相信会有更多的测试同学跟我面临一样得问题。
Read full article from 如何给开源项目做贡献 · TesterHome
No comments:
Post a Comment