Appium-ADB 分析-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

Appium-ADB 分析

简介: 【注】文中提起的 Appium 版本為 v1.6.5 在 appium-adb 代码中主要觉得重要的部分是ADB类所输出的常用函数列表的注册,如下图所示: adb 功能注冊 通过 ADB.prototype[fnName] = fn 的方式将 appium-adb/lib/tools/index.js 中进行定义的 methods 来注册, 通过查看 index.js ,可以看到 methods 中包含了 adb, aapt, systemCall, apkSigning, apkUtils等命令的集合。

【注】文中提起的 Appium 版本為 v1.6.5

在 appium-adb 代码中主要觉得重要的部分是ADB类所输出的常用函数列表的注册,如下图所示:

img_1f0d8427954408076986208a7ae97e60.png
adb 功能注冊

通过 ADB.prototype[fnName] = fn 的方式将 appium-adb/lib/tools/index.js 中进行定义的 methods 来注册, 通过查看 index.js ,可以看到 methods 中包含了 adb, aapt, systemCall, apkSigning, apkUtils等命令的集合。如下图所示:

img_056e4b0cdd944cac4dd19434bf4135ad.png
methods 定義

这样将所有的adb相关的命令进行了封装,并统一放置到 methods 类中进行管理。比如在 appium-android-driver/lib/android-helpers.js 中使用 adb.setDeviceId() 函数来设置默认设备:

img_6b99bef1ba72709863ca35261672c6ff.png
helpers 創建 adb 過程

如上图所示,其中的 createADB 函数即为 appium-adb/lib/adb.js 中实现的adb 实例化操作,然后调用systemCallMethods (appium-adb/lib/tools/system-calls.js ) 中的 setDeviceId() 函数进行指定设备操作。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章