python_appium使用原理
一。
appium介绍
Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android和Windows应用程序。
多平台支持:

三种APP:
-原生APP类型 --原生应用
-web app类型 --移动应用
-native app 和web app融合在一起 --混合应用

多语言支持:
-基本所有的语言都支持
appium的特色:

appium使用的协议:
-webdriver协议的标准:https://w3c.github.io/webdriver/

appium工作原理:
-使用python client 发送http(专业指“Json Wire Protocol”)指令到appium,appium
通过adb桥梁发送到Uiautomator2(这里以android为例子)最终在android端执行。

自动化测试框架:

常用caps
参考地址:https://appium.io/docs/en/writing-running-appium/caps/

appPackage与appActivity查找方式:

1)使用aapt查看 (若没有配置系统环境变量需要在aapt所在目录使用cmd形式查看,使用adb新手包的话路径在“build-tools”):
注意:
使用aapt必须先配置环境变量或者在aapt所在路径cmd使用
配置环境变量:
%ANDROID_HOME%\build-tools\28.0.3
命令:aapt dump badging 包路径名
-包名:package:后面跟着的就是包名

-appActivity启动事件:launchable-activity:后面跟着的就是

2)adb logcat | findStr -i displayed 查看包名
--首先确保adb 设备在线,验证方法:adb devices
--其次,运行想知道包名的程序,不要运行多个程序
--最后使用命令,一般会在最后展示

3)查看目前正在运行的应用事件名:adb shell dumpsys activity | find "mFocusedActivity"

日志分析
appium运行流程:

1)建立连接

2)appium先进行数据校验,校验不通过直接报错

3)appium进行adb环境检测

4)使用adb进行设备连接

5)检测当前连接设备和adb支持的环境是否兼容,目前最新安卓系统是 29(安卓10),安卓系统是向下兼容的。ps:怎么查看安卓环境对应的版本(以adt为例):在“sdk\platforms”进行查看

6)通过adb启动app

7)Json Wire Protocol接口发送给UiAutomator指令进行操作

8)返回响应信息

adb操作常用命令:
1)手动连接设备
命令:adb connect 设备名称
---夜深模拟器设备名称:127.0.0.1:62001
---逍遥模拟器:127.0.0.1:21503

2)其他常用命令:


浙公网安备 33010602011771号