Appium 初始化日志分析

2020-09-19  本文已影响0人  C1R2

Appium在和客户端及手机端进行通讯的时候会输出很多日志,通过日志我们可以知道Appium在初始化过程中做了哪些事情,并且对Appium的原理有深入的了解。接下来我们开始逐行进行分析:

启动Appium服务,端口和工作地址信息

向Appium服务发起一个post接口请求,请求的数据包含客户端发送过来的DesiredCapalities配置。Appium会对应创建一个session,这个session用于后面客户端和Appium服务通讯使用

1

这里告诉我们在Appium V1.13版本之前默认引擎为UIAutomator,较新版本Appium(V1.14)现在的默认引擎为UIAutomator2

2

检测Android SDK的环境,包括build-toold组件、adb等等。并且还会通过adb获取当前连接的设备情况,包括设备的API版本、设备是否在线等等。

3

检测Appium Settings应用是否有安装(一个简单的应用,主要是辅助Appium进行系统相关设置,比如:改变网络连接状态、读写系统设置、创建模拟位置等等)

4

将Settings应用从Appium本地目录推送到手机端,并且进行安装

5

启动Appium Settings应用

6

检查设备中是否有安装io.appium.uiautomator2.server应用,发现没有

7

检查io.appium.uiautomator2.server应用的签名情况:会通过Android SDK的build-tools目录下的apksigner.bat对APK的签名进行检测,这里检测通过。

8

以同样的方式检测应用io.appium.uiautomator2.server.test是否安装->签名

9

安装应用io.appium.uiautomator2.servert和io.appium.uiautomator2.server.test

10

端口转发,将Appium本地的8200端口和设备端的6790端口建立映射,此后Appium和设备端通过这条链路进行通讯。

11

检测被测应用的安装状态,停止被测应用,清除被测应用的数据

停止io.appium.uiautomator2.server.test应用,通过adb shell am instrument命令启动appium-uiautomator2-server,appium-uiautomator2-server会开辟一个netty server。

之前建立的端口转发,开启的netty server会在设备端6790端口监听请求。随后通过Google的UIAutomator V2版本的API执行指令。

启动被测应用,可见xxx.activity.WelcomeActivity


>参照地址:https://mp.weixin.qq.com/s/Ec-Z7fd3tqBgvNHA9X-plw

上一篇下一篇

猜你喜欢

热点阅读