Appium日志分析 --安装登录豆瓣APP

本文详细介绍了如何使用Appium进行安卓应用的自动化测试,以豆瓣APP为例,涵盖了安装应用和模拟用户登录的步骤。通过实例展示了Appium在安卓自动化测试中的应用,为移动端测试提供了参考。
摘要由CSDN通过智能技术生成

```java
The server is running
//启动appium服务
[Appium] Welcome to Appium v1.15.1
[Appium] Non-default server args:
[Appium]   allowInsecure: {
   
[Appium]   }
[Appium]   denyInsecure: {
   
[Appium]   }
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
//开始连接
[HTTP] --> POST /wd/hub/session
//参数配置
[HTTP] {
   "desiredCapabilities":{
   "app":"F:\\java\\移动端资料\\douban.apk","unicodeKeyboard":true,"platformName":"Android","udid":"bb27215f","deviceName":"111","resetKeyboard":true},"capabilities":{
   "firstMatch":[{
   "appium:app":"F:\\java\\移动端资料\\douban.apk","appium:deviceName":"111","platformName":"android","appium:resetKeyboard":true,"appium:udid":"bb27215f","appium:unicodeKeyboard":true}]}}
[W3C] Calling AppiumDriver.createSession() with args: [{
   "app":"F:\\java\\移动端资料\\douban.apk","unicodeKeyboard":true,"platformName":"Android","udid":"bb27215f","deviceName":"111","resetKeyboard":true},null,{
   "firstMatch":[{
   "appium:app":"F:\\java\\移动端资料\\douban.apk","appium:deviceName":"111","platformName":"android","appium:resetKeyboard":true,"appium:udid":"bb27215f","appium:unicodeKeyboard":true}]}]
[BaseDriver] Event 'newSessionRequested' logged at 1590670156905 (20:49:16 GMT+0800 (中国标准时间))
[Appium] 
//警告
[Appium] ======================================================================
[Appium]   DEPRECATION WARNING:
[Appium] 
[Appium]   The 'automationName' capability was not provided in the desired 
[Appium]   capabilities for this Android session
[Appium] 
//UiAutomator2做为默认驱动,也可以增加配置设置automationName=UiAutomator1,是默认驱动为UiAutomator1
[Appium]   Setting 'automationName=UiAutomator2' by default and using the 
[Appium]   UiAutomator2 Driver
[Appium] 
[Appium]   The next major version of Appium (2.x) will **require** the 
[Appium]   'automationName' capability to be set for all sessions on all 
[Appium]   platforms
[Appium] 
[Appium]   In previous versions (Appium <= 1.13.x), the default was 
[Appium]   'automationName=UiAutomator1'
[Appium] 
[Appium]   If you wish to use that automation instead of UiAutomator2, please 
[Appium]   add 'automationName=UiAutomator1' to your desired capabilities
[Appium] 
[Appium]   For more information about drivers, please visit 
[Appium]   http://appium.io/docs/en/about-appium/intro/ and explore the 
[Appium]   'Drivers' menu
[Appium] 
[Appium] ======================================================================
[Appium] 
//创建新的session  AndroidUiautomator2
[Appium] Appium v1.15.1 creating new AndroidUiautomator2Driver (v1.37.2) session
[BaseDriver] W3C capabilities and MJSONWP desired capabilities were provided
[BaseDriver] Creating session with W3C capabilities: {
   
[BaseDriver]   "alwaysMatch": {
   
[BaseDriver]     "platformName": "android",
[BaseDriver]     "appium:app": "F:\\java\\移动端资料\\douban.apk",
[BaseDriver]     "appium:deviceName": "111",
[BaseDriver]     "appium:resetKeyboard": true,
[BaseDriver]     "appium:udid": "bb27215f",
[BaseDriver]     "appium:unicodeKeyboard": true
[BaseDriver]   },
[BaseDriver]   "firstMatch": [
[BaseDriver]     {
   }
[BaseDriver]   ]
[BaseDriver] }
[BaseDriver] Session created with session id: fc4b76f8-abcd-456f-a865-e6c7b7ddf74c
[BaseDriver] Using local app 'F:\java\移动端资料\douban.apk'
//检查软件是否安装
[UiAutomator2] Checking whether app is actually present
[ADB] Found 1 'build-tools' folders under 'F:\java\app\sdk' (newest first):
[ADB]     F:/java/app/sdk/build-tools/28.0.3
[ADB] Using 'adb.exe' from 'F:\java\app\sdk\platform-tools\adb.exe'
//查找连接设备
[AndroidDriver] Retrieving device list
[ADB] Trying to find a connected android device
[ADB] Getting connected devices...
[ADB] Connected devices: [{
   "udid":"bb27215f","state":"device"}]
//查看sdk的版本和Android 的版本号
[AndroidDriver] Using device: bb27215f
[ADB] Using 'adb.exe' from 'F:\java\app\sdk\platform-tools\adb.exe'
[ADB] Setting device id to bb27215f
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell getprop ro.build.version.sdk'
[ADB] Current device property 'ro.build.version.sdk': 28
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell getprop ro.build.version.release'
[ADB] Current device property 'ro.build.version.release': 9
//SDK版本和API level对应表
[ADB] Device API level: 28
//如果要在 adb logcat 输出中查看 API 访问信息,则可以更改 API 强制政策;使用 adb 在开发设备上启用对非 SDK API 的访问
[UiAutomator2] Relaxing hidden api policy
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell settings put global hidden_api_policy_pre_p_apps 1'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell settings put global hidden_api_policy_p_apps 1'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell settings put global hidden_api_policy 1'
//解析包名和activity
[AndroidDriver] Parsing package and activity from app manifest
//没有找到apkanalyzer.bat,使用其他方法
[ADB] Using the alternative activity name detection method because of: Could not find 'apkanalyzer.bat' in ["F:\\java\\app\\sdk\\platform-tools\\apkanalyzer.bat","F:\\java\\app\\sdk\\emulator\\apkanalyzer.bat","F:\\java\\app\\sdk\\tools\\apkanalyzer.bat","F:\\java\\app\\sdk\\tools\\bin\\apkanalyzer.bat","F:\\java\\app\\sdk\\build-tools\\28.0.3\\apkanalyzer.bat"]. Do you have Android Build Tools installed at 'F:\java\app\sdk'?
//使用aapt方法获取包名和activity
[ADB] Using 'aapt.exe' from 'F:\java\app\sdk\tools\aapt.exe'
[ADB] Extracting package and launch activity from manifest
[ADB] Package name: 'com.douban.frodo'
[ADB] Main activity name: 'com.douban.frodo.activity.SplashActivity'
[AndroidDriver] Parsed package and activity are: com.douban.frodo/com.douban.frodo.activity.SplashActivity
//等待设备完全启动
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f wait-for-device'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell echo ping'
//在设备上安装app  appium.settings
[AndroidDriver] Pushing settings apk to device...
[ADB] Getting install status for io.appium.settings
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell dumpsys package io.appium.settings'
[ADB] 'io.appium.settings' is installed 
//获取包的信息   dumpsys:获取Android服务进程的各个信息;
[ADB] Getting package info for 'io.appium.settings'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell dumpsys package io.appium.settings'
[ADB] Cannot extract apk info using apkanalyzer. Falling back to aapt. Original error: Could not find 'apkanalyzer.bat' in ["F:\\java\\app\\sdk\\platform-tools\\apkanalyzer.bat","F:\\java\\app\\sdk\\emulator\\apkanalyzer.bat","F:\\java\\app\\sdk\\tools\\apkanalyzer.bat","F:\\java\\app\\sdk\\tools\\bin\\apkanalyzer.bat","F:\\java\\app\\sdk\\build-tools\\28.0.3\\apkanalyzer.bat"]. Do you have Android Build Tools installed at 'F:\java\app\sdk'?
[ADB] The version name of the installed 'io.appium.settings' is greater or equal to the application version name ('2.14.2' >= '2.14.2')
[ADB] There is no need to install/upgrade 'C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\io.appium.settings\apks\settings_apk-debug.apk'
//  获取appiumsetting的进程,启动

[ADB] Getting IDs of all 'io.appium.settings' processes
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell 'pgrep --help; echo $?''
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell pgrep -f io\\.appium\\.settings'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell am start -n io.appium.settings/.Settings -a android.intent.action.MAIN -c android.intent.category.LAUNCHER'
[ADB] Getting IDs of all 'io.appium.settings' processes
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell pgrep -f io\\.appium\\.settings'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell appops set io.appium.settings android\:mock_location allow'
//启用日志记录
[Logcat] Starting logcat capture
//设置键盘为IME 模式,并启动
[AndroidDriver] Enabling Unicode keyboard support
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell settings get secure default_input_method'
[AndroidDriver] Unsetting previous IME com.baidu.input_mi/.ImeService
[AndroidDriver] Setting IME to 'io.appium.settings/.UnicodeIME'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell ime enable io.appium.settings/.UnicodeIME'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell ime set io.appium.settings/.UnicodeIME'
//检查uiautomator2.server的安装信息并且获取进程信息
[ADB] Getting install status for io.appium.uiautomator2.server
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell dumpsys package io.appium.uiautomator2.server'
[ADB] 'io.appium.uiautomator2.server' is installed
[ADB] Getting package info for 'io.appium.uiautomator2.server'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell dumpsys package io.appium.uiautomator2.server'
[ADB] Cannot extract apk info using apkanalyzer. Falling back to aapt. Original error: Could not find 'apkanalyzer.bat' in ["F:\\java\\app\\sdk\\platform-tools\\apkanalyzer.bat","F:\\java\\app\\sdk\\emulator\\apkanalyzer.bat","F:\\java\\app\\sdk\\tools\\apkanalyzer.bat","F:\\java\\app\\sdk\\tools\\bin\\apkanalyzer.bat","F:\\java\\app\\sdk\\build-tools\\28.0.3\\apkanalyzer.bat"]. Do you have Android Build Tools installed at 'F:\java\app\sdk'?
[ADB] The version name of the installed 'io.appium.uiautomator2.server' is greater or equal to the application version name ('4.3.0' >= '4.3.0')
[UiAutomator2] io.appium.uiautomator2.server installation state: sameVersionInstalled
//对APP进行签名
[ADB] Checking app cert for C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.3.0.apk
[ADB] Using 'apksigner.bat' from 'F:\java\app\sdk\build-tools\28.0.3\apksigner.bat'
[ADB] Starting 'F:\java\app\sdk\build-tools\28.0.3\apksigner.bat' with args '["verify","--print-certs","C:\\Program Files\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-uiautomator2-server\\apks\\appium-uiautomator2-server-v4.3.0.apk"]'
[ADB] apksigner stdout: Signer #1 certificate DN: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
[ADB] Signer #1 certificate SHA-256 digest: a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc
[ADB] Signer #1 certificate SHA-1 digest: 61ed377e85d386a8dfee6b864bd85b0bfaa5af81
[ADB] Signer #1 certificate MD5 digest: e89b158e4bcf988ebd09eb83f5378e87
[ADB] 
[ADB] 'C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.3.0.apk' is already signed.

//获取uiautomator2.server.test的安装信息及APP签名
[ADB] Getting install status for io.appium.uiautomator2.server.test
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell dumpsys package io.appium.uiautomator2.server.test'
[ADB] 'io.appium.uiautomator2.server.test' is installed
[ADB] Checking app cert for C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk
[ADB] Starting 'F:\java\app\sdk\build-tools\28.0.3\apksigner.bat' with args '["verify","--print-certs","C:\\Program Files\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-uiautomator2-server\\apks\\appium-uiautomator2-server-debug-androidTest.apk"]'
[ADB] apksigner stdout: Signer #1 certificate DN: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
[ADB] Signer #1 certificate SHA-256 digest: a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc
[ADB] Signer #1 certificate SHA-1 digest: 61ed377e85d386a8dfee6b864bd85b0bfaa5af81
[ADB] Signer #1 certificate MD5 digest: e89b158e4bcf988ebd09eb83f5378e87
[ADB] 
[ADB] 'C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk' is already signed.
[UiAutomator2] Server packages are not going to be (re)installed
[UiAutomator2] Waiting up to 30000ms for services to be available
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell pm list instrumentation'
[UiAutomator2] Instrumentation target 'io.appium.uiautomator2.server.test/androidx.test.runner.AndroidJUnitRunner' is available
//实现端口转发
[UiAutomator2] Forwarding UiAutomator2 Server port 6790 to 8200
[ADB] Forwarding system: 8200 to device: 6790
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f forward tcp\:8200 tcp\:6790'
//检查签名
[ADB] Checking app cert for F:\java\移动端资料\douban.apk
[ADB] Starting 'F:\java\app\sdk\build-tools\28.0.3\apksigner.bat' with args '["verify","--print-certs","F:\\java\\移动端资料\\douban.apk"]'
[ADB] apksigner stdout: Signer #1 certificate DN: CN=Bear Tung, OU=Douban Inc., O=Douban Inc, L=Beijing, ST=Beijing, C=zh
[ADB] Signer #1 certificate SHA-256 digest: ba0c40f9d4551706f3594c7209f232f30b268e6efbcdb789a8b3dff817616d25
[ADB] Signer #1 certificate SHA-1 digest: e4dd80ede2710366e2ba1a672f801e8a051bbf4a
[ADB] Signer #1 certificate MD5 digest: 251b9378f53534484e257695a441b901
[ADB] 
//设置豆瓣app的签名为默认签名
[ADB] 'F:\java\移动端资料\douban.apk' is signed with non-default certificate
[ADB] Using 'zipalign.exe' from 'F:\java\app\sdk\build-tools\28.0.3\zipalign.exe'
[ADB] F:\java\移动端资料\douban.apk' is already zip-aligned. Doing nothing
[ADB] Signing 'F:\java\移动端资料\douban.apk' with default cert
[ADB] Starting 'F:\java\app\sdk\build-tools\28.0.3\apksigner.bat' with args '["sign","--key","C:\\Program Files\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-adb\\keys\\testkey.pk8","--cert","C:\\Program Files\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-adb\\keys\\testkey.x509.pem","F:\\java\\移动端资料\\douban.apk"]'
//检查豆瓣app的安装状态
[ADB] Getting install status for com.douban.frodo
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell dumpsys package com.douban.frodo'
[ADB] 'com.douban.frodo' is not installed
[ADB] App 'F:\java\移动端资料\douban.apk' is not installed
//安装应用
[ADB] Installing 'F:\java\移动端资料\douban.apk'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell 'ls -t -1 /data/local/tmp/appium_cache 2>&1 || echo _ERROR_''
[ADB] The count of applications in the cache: 3
[ADB] Caching the application at 'F:\java\移动端资料\douban.apk' to '/data/local/tmp/appium_cache/083ce25236bc1ee09639cef9af1f2c8b3ca1840e.apk'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f shell mkdir -p /data/local/tmp/appium_cache'
[ADB] Running 'F:\java\app\sdk\platform-tools\adb.exe -P 5037 -s bb27215f push F:\\java\\移
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值