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

 

 

posted @ 2020-08-09 22:00  1142783691  阅读(310)  评论(0编辑  收藏  举报