发布于 2016-04-22 04:28:16 | 114 次阅读 | 评论: 0 | 来源: 网友投递
F2etest 多浏览器兼容性测试整体解决方案
F2etest 是一个面向前端、测试、产品等岗位的多浏览器兼容性测试整体解决方案。
经过1年的储备及酝酿,F2etest v2.0.0终于如期发布了!
这里,我们先介绍下F2etest。
F2etest是阿里巴巴开源的综合前端测试解决方案。
F2etest开源地址:https://github.com/alibaba/f2etest
我们目前的定位:
云端的人工多浏览器测试解决方案
云端的WEB JS单元测试解决方案
云端的可视WebDriver Hub高并发解决方案
下面让我们一起详细了解下F2etest v2.0.0更新了哪些功能?
云端的WEB JS单元测试解决方案
类似的JS单元测试持续集成方案,目前有如下:
Karma: Google开源的JS单测持续集成方案(原名:Testacular)
Totoro: 支付宝开源的解决方案(目前已经停止更新)
那么,F2etest的解决方案相对这些方案有哪些特点?
云端真实WebDriver执行机:每次运行均为空白的真实浏览器环境,多个任务间完全隔离,不会相互影响
便携的远程可视化调试:可以直接远程连接到执行机,进行可视化的调试
支持用例详情查看:可以在云端方便的查看用例测试详情,对测试结果了如指掌
支持JS代码覆盖率:云端可视化查看覆盖率结果,支持压缩代码美化,方便对压缩代码的覆盖率检测
支持hosts绑定:每个任务可运行在自己的hosts环境下,互不影响
支持以下主流JS单元测试框架:Mocha, Jasmine, QUnit,将来可以方便的适配更多单测框架
讲的再多,不如来些截图更真实。
任务队列:
测试结果详情页:
代码覆盖率:
命令行客户端:
云端的可视WebDriver Hub高并发解决方案
WebDriver是W3C制定的标准自动化解决方案。
那么F2etest WebDriver是什么?
F2etest WebDriver云是在WebDriver方案基础上,实现的一套WebDriver Hub解决方案,可以对外提供并调度海量的执行机节点。
相比较官方的Grid Hub方案,我们有如下优点:
10倍以上硬件利用率:传统WebDriver 1台执行机仅能跑1个Job,而我们一台机器可以高并发跑N个Job,这个N取决于机器配置,理论上硬件利用率相当于传统节点的10倍以上
支持独立hosts绑定:每次申请节点时,可以指定不同的hosts绑定,保证同一台机器上不同节点的Job不会相互干扰
所有节点支持远程在线调试:利用Guacamole的在线远程功能,我们能非常便利的对自动化进展进行即时监控和调试
任务节点分配信息透明:Selenium Grid对节点的分配不够透明,出了问题,都不知道是在哪个节点上跑的用例
目前,我们阿里内部部署的环境有88个执行机节点:
别看我们有88个执行机节点,但是实际上背后才5台服务器!
这就是F2etest WebDriver云的真正厉害之处!
拥有F2etest WebDriver,我们以一敌百!
如果你的公司之前自己搭建的执行机需要100台,如果更换成我们的方案后,理论上只需10台甚至5台就可以满足需求。
写在最后
我们现在走在开源的道路上,希望我们的工作能够给整个互联网带来帮助和价值。
但是,我们更希望能够有更多爱好测试的同学加入到这个开源项目中来,一起为之添砖加瓦!
F2etest v2.0.0算是正式发布了,但是我们的v3.0.0已经在规划中。
v3.0.0,我们将会为大家献上更震撼的测试产品!
敬请期待!
对于本产品有兴趣,或者希望一起共建的,请访问开源首页:https://github.com/alibaba/f2etest