【问题标题】:Run Chrome on emulator with appium?使用 appium 在模拟器上运行 Chrome?
【发布时间】:2021-12-09 06:43:44
【问题描述】:

当我尝试在带有 appium 的模拟器设备上运行 Chrome 时,我遇到了一些问题。 我很确定 Chrome 没有安装在我的模拟器上,但不是 100% 肯定是这种情况,以及是否是如何修复它。

目前 mu Appim 服务器日志如下:

[debug] [ADB] Running '/Users/test/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 shell dumpsys deviceidle whitelist +io.appium.settings ; dumpsys deviceidle whitelist +io.appium.uiautomator2.server ; dumpsys deviceidle whitelist +io.appium.uiautomator2.server.test ;'
[debug] [UiAutomator2] No app capability. Assuming it is already on the device
[debug] [ADB] Getting install status for com.android.chrome
[debug] [ADB] Running '/Users/test/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 shell dumpsys package com.android.chrome'
[debug] [ADB] 'com.android.chrome' is not installed
[debug] [UiAutomator2] Deleting UiAutomator2 session
[debug] [UiAutomator2] Deleting UiAutomator2 server session
[debug] [WD Proxy] Matched '/' to command name 'deleteSession'
[UiAutomator2] Did not get confirmation UiAutomator2 deleteSession worked; Error was: UnknownError: An unknown server-side error occurred while processing the command. Original error: Trying to proxy a session command without session id
[debug] [Logcat] Stopping logcat capture
[debug] [ADB] Removing forwarded port socket connection: 8207 
[debug] [ADB] Running '/Users/test/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 forward --remove tcp:8207'
[UiAutomator2] Restoring hidden api policy to the device default configuration
[debug] [ADB] Running '/Users/test/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 shell 'settings delete global hidden_api_policy_pre_p_apps;settings delete global hidden_api_policy_p_apps;settings delete global hidden_api_policy''
[debug] [BaseDriver] Event 'newSessionStarted' logged at 1634917808720 (17:50:08 GMT+0200 (Central European Summer Time))
[debug] [W3C] Encountered internal error running command: Error: 'app' option is required for reinstall
[debug] [W3C]     at Object.resetApp (/usr/local/lib/node_modules/appium/node_modules/appium-android-driver/lib/android-helpers.js:392:11)
[debug] [W3C]     at AndroidUiautomator2Driver.initAUT (/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/lib/driver.js:546:9)
[debug] [W3C]     at AndroidUiautomator2Driver.startUiAutomator2Session (/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/lib/driver.js:408:5)
[debug] [W3C]     at AndroidUiautomator2Driver.createSession (/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/lib/driver.js:229:7)
[debug] [W3C]     at AppiumDriver.createSession (/usr/local/lib/node_modules/appium/lib/appium.js:387:35)

我使用的代码是:

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "EmulatorName");
cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");
cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
cap.setCapability("appium:chromeOptions", ImmutableMap.of("w3c", false));
cap.setCapability("chromedriverExecutable", "/Users/test/Downloads/chromedriver");


driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

【问题讨论】:

标签: android appium


【解决方案1】:

如果 Appium 找不到应用程序,它会尝试将其安装在设备上。因此,使用 APK 文件的位置在所需功能中添加 App 变量非常重要。 此行显示 Appium 尝试在设备上安装 chrome 但在 Caps 中找不到 APP 变量。

Encountered internal error running the command: Error: 'app' option is required for reinstall

只需将其添加到您的帽子中:

cap.setCapability(MobileCapabilityType.APP, "APK PATH OF CHROME");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    相关资源
    最近更新 更多