京东质量社区 UIAutomatorview 简单封装 生成脚本 (初版)

taki for 京东 · 2016年03月27日 · 最后由 小低调 回复于 2016年05月10日 · 2159 次阅读

空闲时间学习了 Appium,发现每次定位,找元素,调试实在太费劲,所以把 UIAutomatorview,简单了改了下,至少可以解决部分问题,

由于【刚几天】接触移动端,安卓之前也没碰过,只能暂时做成这样了,录制的话,个人觉得没必要,录了的脚本也不能直接用,还要改。源码暂时不放开了,可能还有 BUG,功能也不完善

功能

  • 自动生成脚本,这里面定了系列的规则,id-text-classname-desc,xpath 的没有。
  • 高亮元素,很久之前做 selenium 的时候做了这个功能,就是高亮元素,判断定位方式是否可行,避免反复起 appium 调试。
  • 运行,在很久之前做 QTP 有一个非常强大的功能就是可以直接在某一处代码运行当前控件的执行,都是为了确定元素定位方式有效。
  • 高亮元素和运行当前元素想用 Bootstrap 去弄、元素的备注,暂时还没时间弄,生成的脚本还挺稳定。
  • 各位有啥提议和想法欢迎讨论。

简单的几个小功能


生成的脚本


导出脚本

共收到 28 条回复 时间 点赞

有点意思,写脚本的时候的确能带来一定的便利性

对工具进行了修改,更能符合实际运用

uiautomatorviewer 这个原生工具源代码在哪下载的啊?

#3 楼 @cortana_x 随处可以下。 本来也是开源的。或者可以自己反编译: /tools/lib/uiautomatorviewer.jar

我看快照是京东的 APP,楼主是京东的吗?

6楼 已删除
taki #7 · 2016年03月28日 Author

#3 楼 @cortana_x 网上有下的

—— 来自 TesterHome 官方 安卓客户端

taki #8 · 2016年03月28日 Author

#1 楼 @wincherst 嗯,就是帮助写脚本,还没想做的太复杂

—— 来自 TesterHome 官方 安卓客户端

taki #9 · 2016年03月28日 Author

#5 楼 @keterdo 是的

taki #11 · 2016年03月28日 Author

#10 楼 @sanlengjingvv 昨天发完,发现了那个,不过能给出源码,也不用造轮子

#10 楼 @sanlengjingvv 这个你弄出来了吗?我试过,好多错

taki #14 · 2016年03月28日 Author

#13 楼 @zsx10110 刚到论坛,对论坛其他帖子确实关注不够,注册 testrhome 也就一周多,我学习 appium 也就 3 4 天,还不是全天,调试费尽,然后啥也没看就直接改了下,不管移动端 还是 web 端 还是 pc 客户端,自动化工具的思想也就那样,在怎么弄也弄不出来花,如果都能开源,也省的重复制造轮子了

#7 楼 @taki 已经下载到 还是反编译看着 Manifest 导入的包

taki #17 · 2016年03月28日 Author

#15 楼 @cortana_x 网上有现成的源码包

taki #18 · 2016年03月28日 Author

#16 楼 @aollerjlx hi,咋看出来是我

你好,能给个 QQ 吗,我也想做 uiautomatorview 的修改,但是工程翻遍后导进来还需要很多 jar 包,我已经导入了一些,但感觉还差很多,想具体请教下还需要导入哪些 jar 包,谢谢啦

taki #20 · 2016年03月31日 Author

#19 楼 @test_123_456 sdk 里面的 tools 里面就有

—— 来自 TesterHome 官方 安卓客户端

#20 楼 @taki 我工程已经反编译了,导入后报了很多错,已经导入了些 jar 包,但是还有好几个找不到,例如 org/eclipse/core/runtime/IProgressMonitor

taki #22 · 2016年04月01日 Author

#21 楼 @test_123_456 D:\android-sdk\tools\lib 这里面去找依赖,网上都有源码,不用反编译

#22 楼 @taki 嗯 ,但是 lib 下面的所有包都都放进去了,还是会报错,比如 org.eclipse.swt.SWT;这个缺少

taki #24 · 2016年04月01日 Author

#23 楼 @test_123_456 所以你百度或者谷歌一下下载这个包放进去就可以了

#24 楼 @taki 你好 能告诉我 这三行报错是什么意思吗 现在包都不缺了 每个 JAVA 文件都是这三行报错 ,我是反编译的

/* Location: F:\Eclipse\adt-bundle-windows-x86-20140702\sdk\tools\lib\uiautomatorviewer.jar

  • Qualified Name: com.android.uiautomator.actions.ImageHelper

  • JD-Core Version: 0.7.0.1

taki #26 · 2016年04月01日 Author

#25 楼 @test_123_456 你单独弄一个工程,然后把依赖包就进去,别再 sdk 里面弄,然后获取 ADB 的地方修改下路径

#26 楼 @taki 嗯,好像可以执行了,但是 ADB 这块插上手机还是没法解析,报错,应该和你说的 ADB 的路径有关,是在哪个文件内呢,谢谢了

#26 楼 @taki 嗯 ,找到了 ,我估计要改 DebugBridge 这里面的内容,还不知道怎么入手

请问一下,怎么获取当前页的 activity

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