其他测试框架 WebDriverAgent Inspector 修复在截图中高亮选中元素的功能

陈恒捷 · 2016年07月12日 · 最后由 不二家 回复于 2016年07月22日 · 2275 次阅读
本帖已被设为精华帖!

最近要在团队里推 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% 的时间都花在跑测试上)就合并上去搞定了。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 17 条回复 时间 点赞
思寒_seveniruby 将本帖设为了精华贴 07月12日 17:55

加精理由: 功能有用. 对开源项目也有贡献,并顺带介绍了 facebook 开源项目提交 pr 的流程.

高亮这个能通过 webdriveragent 的 api 来调用吗? 我一直希望 appium 也能上这个功能.

又踩了一个坑顺便填上了。大佬我越来越崇拜你了。

机器人的确很给力~~~大佬👍 👍 👍 👍

#3 楼 @seveniruby 高亮是 inspector 前端的功能,WebDriverAgent 本身没有这方面的 API 。前端从 WebDriverAgent 获取元素树(每个元素需要有坐标和大小的属性)和截图后,就可以做到这个高亮了。

#4 楼 @anikikun 在专家面前我是小弟。。。

厉害!

特来膜拜一下,我这个成就还没达成。

前来膜拜

膜拜

#9 楼 @doctorq 你想达成的话随时都可以啦。

修好了没,还是不能使呀

#13 楼 @codeskyblue 官方已经 merge 了,你 git log 看下本地仓库有没有包含这个 fix ?

高手,支持下

#6 楼 @chenhengjie123 事后改图这个可以做 就是麻烦了点. 太重

膜拜~~

#14 楼 @chenhengjie123 我跟新了代码,build succeeded,然后总是提示 test failed,会有提示:

2016-07-22 15:02:15.057 XCTRunner[5303:2236022] Running tests...
2016-07-22 15:02:15.264 XCTRunner[5303:2236022] The bundle “WebDriverAgentRunner” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
2016-07-22 15:02:15.264 XCTRunner[5303:2236022] (dlopen_preflight(/var/containers/Bundle/Application/AE743399-C99B-484A-BB52-A2D71317591B/WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest/WebDriverAgentRunner): Library not loaded: @rpath/KissXML.framework/KissXML
  Referenced from: /private/var/containers/Bundle/Application/AE743399-C99B-484A-BB52-A2D71317591B/WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest/Frameworks/WebDriverAgentLib.framework/WebDriverAgentLib
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/AE743399-C99B-484A-BB52-A2D71317591B/WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest/Frameworks/WebDriverAgentLib.framework/Frameworks/KissXML.framework/KissXML: mmap() errno=1 validating first page of '/private/var/containers/Bundle/Application/AE743399-C99B-484A-BB52-A2D71317591B/WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest/Frameworks/WebDriverAgentLib.framework/Frameworks/KissXML.framework/KissXML')

能指导一下吗?更新代码前,是可以正常使用的,能打开 inspector 查看控件定位。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册