Appium初始化流程分析

news/2024/10/18 23:26:48/

Appium初始化流程分析

通过Appium桌面端日志分析Appium初始化流程:
主要的工作是通过adb完成的(这里分析adb初始化流程)在这里插入图片描述

1.寻找已连接的Android设备

  [ADB] Trying to find a connected android device

2.获取设备的信息:设备版本、根据设备版本匹配sdk版本、等待设备连接、检查设备连接状态
获取设备的版本:

[ADB] Running 'D:\Android SDK\AndroidSDK\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62026 shell getprop ro.build.version.sdk'

根据设备版本匹配对应AndroidSDK的版本:

[ADB] Current device property 'ro.build.version.sdk': 25

等待设备连接:

[ADB] Running 'D:\Android SDK\AndroidSDK\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62026 wait-for-device'

检查设备的连接状态:

[ADB] Running 'D:\Android SDK\AndroidSDK\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62026 shell echo ping'

3.装配Appium Settings应用:安装、授权、启动等(Appium的辅助程序,调用蓝牙、定位等功能需要用到)
安装:

[ADB] The upload of 'settings_apk-debug.apk' (1.15 MB) took 150ms
[ADB] Running 'D:\Android SDK\AndroidSDK\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62027 shell pm install -g /data/local/tmp/appium_cache/ca734d53854fd1368352eb1ad91806dc6e03622f.apk'

启动:

[ADB] Running 'D:\Android SDK\AndroidSDK\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62026 shell am start -n io.appium.settings/.Settings -a android.intent.action.MAIN -c android.intent.category.LAUNCHER'

4.端口映射(转发):通过Appium服务端的8200端口和设备端的6790端口建立通讯
注意:启动Appium时输入的端口号4723是用于与自动化脚本通讯,区别于8200端口

[ADB] Forwarding system: 8200 to device: 6790

5.安装io.appium.uiautomator2.server:设备端工作的服务(接收Appium发送过来的指令并且执行)

[ADB] The upload of 'appium-uiautomator2-server-v4.11.0.apk' (1.93 MB) took 163ms
[ADB] Running 'D:\Android SDK\AndroidSDK\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62027 shell pm install -r /data/local/tmp/appium_cache/01344cac04b875e34c3a26482ec05d7f3b053505.apk'

6.安装io.appium.uiautomator2.server.test:作为uiautomator2.server辅助程序,用于启动uiautomator2.server

[ADB] The upload of 'appium-uiautomator2-server-debug-androidTest.apk' (755.10 KB) took 147ms
[ADB] Running 'D:\Android SDK\AndroidSDK\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62027 shell pm install -r /data/local/tmp/appium_cache/3188d05a92585e7f2a2cb8880cea331370de08e6.apk'

7.启动被测的APP

[ADB] Running 'D:\Android SDK\AndroidSDK\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:62027 shell am start -W -n com.lemon.lemonban/com.lemon.lemonban.activity.MainActivity -S'

http://www.ppmy.cn/news/182527.html

相关文章

appium工作原理详讲

appium简介 appium是一个移动端自动化框架,它采用C/S的设计模式,支持多类开发语言(java python js c#…)、支持多平台(ios android),支持跨平台使用(windows linux)。它适用于原生或混合移动应用; appium…

通过手机USB控制外部设备的实例

手机本身就是一台功能强大的计算机,通过其USB接口可以方便地控制外部设备,前提是外部设备也要有USB接口。 本实例用到一个四路USB智能继电器接口模块,价格便宜,网上可以买到,型号是LCUS-4 型四路USB继电器模块智能控制…

2021年全球电气设备外壳收入大约6790百万美元,预计2028年达到9418.2百万美元

本文研究全球市场、主要地区和主要国家电气设备外壳的销量、销售收入等,同时也重点分析全球范围内主要厂商(品牌)竞争态势,电气设备外壳销量、价格、收入和市场份额等。 针对过去五年(2017-2021)年的历史情…

厂商主推芯片:中微SC8F6790和泰芯TX8C1260的对比,及使用感受。

中微的SC8F6790和泰芯的TX8C1260脚位都兼容市面上主流芯片STM8S003。相对于STM8S003,中微的和泰芯的芯片都为国产芯片,供货稳定,价格有优势,而且价格相对平稳,都已经大批量出货,芯片工作稳定性有保证。 S…

云服务器CPU内存/带宽配置怎么选择?

云服务器配置怎么选择?个人如何选择?企业怎么选择云服务器配置?腾讯云服务器CPU内存、带宽和系统盘怎么选择合适?个人用户可以选择轻量应用服务器,企业用户可以选择云服务器CVM,企业用户可以选择标准型S5云…

生成全球唯一性的标识符uuid.uuid4

UUID(通用唯一标识符)是一种用于标识信息的标准化方法,它可以保证在全球范围内的唯一性。这是因为UUID的生成算法是基于时间戳、硬件地址、随机数等多个因素的组合,这些因素的组合可以保证生成的UUID在全球范围内的唯一性。 具体…

IEEE2023春季课程笔记

一、MOOC培训课件链接如下: 主题一(a)课件下载: https://workdrive.zohopublic.com.cn/external/a3c3f69729a83daa50aa28e086572ba759fffcb2acbaec84377e0b9181a25015 主题一(b)课件下载: https…

windows 安装 minio

windows 安装 minio 1.通过powershell 安装 ~~ Invoke-WebRequest -Uri “https://dl.min.io/server/minio/release/windows-amd64/minio.exe” -OutFile “D:\devtool\minio\minio.exe” setx MINIO_ROOT_USER admin setx MINIO_ROOT_PASSWORD password D:\devtool>m…