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)其他常用命令: