Appium基础学习之 | Appium-Desktop日志分析

在《Appium基础学习之 | Appium-Desktop使用》这篇文章介绍了Appium-Desktop的基本流程使用,也就是把运行环境都调试通过了,下面开始分析分析Appium-Desktop的执行过程中发生了些什么事情。

1.启动Appium-Desktop Server,默认端口的4723

2.根据DesiredCapabilities设置的所有参数值,并根据这个设置创建一个Appium Session,这个Session是唯一的,它用于接下来与客户端保持通信使用

Appium基础学习之 | Appium-Desktop日志分析_第1张图片

3.得到测试应用包的包名、主活动Activity名

4.检查指定的设备中有没有安装io.appium.uiautomator2.server这个包,得到的结果是not

5.然后开始安装io.appium.uiautomator2.server、io.appium.uiautomator2.server.test两个包对应的APK

Appium基础学习之 | Appium-Desktop日志分析_第2张图片

6.安装完io.appium.uiautomator2.server、io.appium.uiautomator2.server.test两个包对应的APK后,通过adb shell pm list instrumentation命令检查一下使用instrumentation执行测试的列表中有没有该包,结果为存在并待命等待运行。

Appium基础学习之 | Appium-Desktop日志分析_第3张图片

7.安装io.appium.setting包

Appium基础学习之 | Appium-Desktop日志分析_第4张图片

8.运行io.appium.setting这个包并进行一些设置(在Appium-Desktop的执行过程中设备在安装完setting包有一个打开setting应用的步骤就是完成了这些设置)

Appium基础学习之 | Appium-Desktop日志分析_第5张图片

9.完成appium服务的8200端口与设备6790端口转发,简单的说就是把Appium服务机器上的8200端口与设备端6790端口完成对接,接下来需要通过这个端口来通信。这个在后面说Appium-UiAutomator2-Server这个Apk分析的时候会继续说。

10.安装被测应用

Appium基础学习之 | Appium-Desktop日志分析_第6张图片

11.先关闭io.appium.uiautomator2.server这个包的应用,然后运行

adb shell am instrument -w io.appium.uiautomator2.server.test/androidx.test.runner.AndroidJunitRunner

Appium基础学习之 | Appium-Desktop日志分析_第7张图片

12.向设备端的appium-server发送一个获取状态的请求,确认在设备端的Appium scoket server是正确的,注意这里的8200端口,发送的请求通过appium-server所在机器上的8200端口转发到设备端的6790端口(如果觉得很神奇,可以去了解下adb forward的介绍)

13.使用Appium写代码是不会有启动被测应用的,可以看到UiAutomator2打印了日志,然后通过adb shell am start来启动了被测应用

Appium基础学习之 | Appium-Desktop日志分析_第8张图片

14.发送查找元素element的请求

Appium基础学习之 | Appium-Desktop日志分析_第9张图片

15.然后发送点击的请求

Appium基础学习之 | Appium-Desktop日志分析_第10张图片

16.遇到driver.quit或者driver.close方法,发送delete请求,会删除sessionid、停止被测应用程序、删除端口转发

Appium基础学习之 | Appium-Desktop日志分析_第11张图片

画个简单流程图,如下

Appium基础学习之 | Appium-Desktop日志分析_第12张图片

 

你可能感兴趣的:(Appium,Appium学习)