最近要在团队里推 WebDriverAgent ,但查找元素是个很麻烦的点。原配的 inspector 没有元素树和截图联动的功能,如果经验不丰富看不出这个元素是不是对应自己想定位的元素。
所以想在 Inspector 中加入在截图中高亮元素的功能(就是通过元素树获取元素所在坐标及大小,然后把截图上的那片区域加个半透明的 div 层),结果发现原来 facebook 早就写了这功能了,只是出了 bug 所以一直没效果。。。
现在修复了,可以实现类似下图的效果:
选择右侧的 iTunes Store 元素,左侧截图的 iTunes Store 图标自动高亮。
修复对应 PR (Pull Request) :https://github.com/facebook/WebDriverAgent/pull/201 有兴趣的同学可以看下里面的 CL(Change List)。代码很简单,这里就不另外讲了。
同时也体验了一下 facebook 的 PR 流程,确实很高效。提交后马上自动跑测试,如果没有在他家的 CLA 里面登记,机器人会自动提示相关信息。然后一句 shipit 就相当于完成了 CR(code review),机器人会在测试通过后自动 merge 和 close。一个简单的 pr 在 20 分钟内(其中 90% 的时间都花在跑测试上)就合并上去搞定了。