自定义Appium之路 appium 的技术架构
cmlanche
·
2019年04月12日
·
1842 次阅读
「原创声明:保留所有权利,禁止转载」
欢迎关注我的 Appium 知乎专栏:自定义 Appium 之路
appium 是基于 nodejs 来打包、发布的,也用它来管理各个 driver,如下图所示,它的结构图如下:
从上图就可以看到:android 的自动化比 iOS 的要难多了!
appium 主程序,依赖各个 driver 程序,其中,安卓的自动化有 3 个 driver,分别是:
- appium-android-driver - 用于驱动 UIAutomator1
- appium-uiautomator2-driver - 用于驱动 UIAutomator2
- appium-espresso-driver - 用于驱动 Espresso
列个表对比一下:
功能\Driver | appium-android-driver | appium-uiautomator2-driver | appium-espresso-driver |
---|---|---|---|
用途 | 驱动 UIAutomator1 | 驱动 UIAutomator2 | 驱动 espresso |
automationName | UiAutomator1 | UiAutomator2 | Espresso |
包形式 | AppiumBootstrap.jar | appium-uiautomator2-server-v${version}.apk | TODO 待研究 |
包依赖地址 | bootstrap/bin/ | appium-uiautomator2-server/apks/ | TODO |
优点 | jar 包形式,免安装,一个命令直接启动,权限级别是 shell 级别 | 官方推荐使用 2,对高版本兼容性好 | 控件识别能力强 |
缺点 | 对高版本兼容性差,容易无法识别控件 | apk 形式,需要安装 | apk 形式,需求安装,并且是侵入式的,可能带来风险 |
Server 模块 | 在相同工程中,Bootstrap 目录,maven 工程,主要目标是在 bin 目录下输出 AppiumBootstrap.jar | 不同工程,单独的另外一个 Nodejs 工程:appium-uiautomator2-server | 相同 Nodejs 工程,espress-server 目录,gradle 工程 |
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。