美文网首页自动化测试
Appium-Uiautomator2-Server原理分析

Appium-Uiautomator2-Server原理分析

作者: charles0427 | 来源:发表于2017-07-04 17:41 被阅读1885次

这里分享外网一篇文章,对Appium UiAutomator2 Server的工作原理作了很详细的介绍

原贴: How Appium UIAutomator2 Server Works

简单概括一下:

ps. 我们都知道appium只有在uiautomator2下可以实现对toast的识别,那是因为Google新增了AccessibilityService服务,重写该服务可以实现对Notification和Toast内容的捕捉

appium-uiautomator2-server

  • 通信模块使用了Netty Server,较之bootstrap使用的ServerSocket,Netty是一个高性能、异步驱动的NIO框架,占用内存少,性能更好。

运行原理

  • 客户端通过传递desired capabilities给appium node server来创建一个session, appium server根据automationName去启动对应的driver,默认是android-driver。
  • automationName设为UIAutomator2,appium会调用appium-uiautomator2-driver,同时将uiautomator2 server的两个apk安装到测试设备上
    1. io.appium.uiautomator2.server.apk,执行handlers
    2. io.appium.uiautomator2.server.test.apk,只有一个test,用于启动server
  • AppiumServlet ,管理请求的路由,将driver发过来的请求转发给对应Handler.
  • Handler,调用UiAutomator V2去执行指定操作,操作的结果经AppiumResponse统一封装
  • AppiumResponse,操作结果返回给appium-uiautomator2-driver,再将结果返给客户端

相关文章

网友评论

    本文标题:Appium-Uiautomator2-Server原理分析

    本文链接:https://www.haomeiwen.com/subject/yfuxhxtx.html