【问题标题】:Unable to launch chrome browser appium@1.8 Android(7.0)无法启动chrome浏览器appium@1.8 Android(7.0)
【发布时间】:2018-10-23 21:41:24
【问题描述】:

我正在尝试在我的 Android 手机中启动 chrome 浏览器。我遇到了这个异常。

Error while killing uiAutomator: Error: Unable to kill uiautomator processes. Original error: Error executing adbExec. Original error: 'Command '/Users/smuralik/Library/Android/sdk/platform-tools/adb -P 5037 -s 988a1b474250413542 shell kill -0 21431' exited with code 1'; Stderr: '/system/bin/sh: kill: 21431: Operation not permitted'; Code: '1'
[debug] [UiAutomator] Starting UIAutomator
[debug] [ADB] Creating ADB subprocess with args: ["-P",5037,"-s","988a1b474250413542","shell","uiautomator","runtest","AppiumBootstrap.jar","-c","io.appium.android.bootstrap.Bootstrap","-e","pkg","com.android.chrome","-e","disableAndroidWatchers",false,"-e","acceptSslCerts",false]
[UiAutomator] UiAutomator exited unexpectedly with code 255, signal null
[debug] [UiAutomator] Moving to state 'stopped'
Unhandled rejection Error: UiAUtomator shut down unexpectedly
    at AndroidBootstrap.callee$2$0$ (/usr/local/lib/node_modules/appium/node_modules/appium-android-bootstrap/lib/bootstrap.js:176:42)
    at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
    at invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
    at enqueueResult (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:185:17)
    at new Promise (<anonymous>)
    at new F (/usr/local/lib/node_modules/appium/node_modules/core-js/library/modules/$.export.js:30:36)
    at AsyncIterator.enqueue (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:184:12)
    at AsyncIterator.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
    at Object.runtime.async (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:209:12)
    at UiAutomator.callee$2$0 (/usr/local/lib/node_modules/appium/node_modules/appium-android-bootstrap/build/lib/bootstrap.js:353:42)
    at emitOne (events.js:116:13)
    at UiAutomator.emit (events.js:211:7)
    at UiAutomator.changeState (/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator/lib/uiautomator.js:85:10)
    at SubProcess.<anonymous> (/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator/lib/uiautomator.js:47:14)
    at emitTwo (events.js:126:13)
    at SubProcess.emit (events.js:214:7)
    at ChildProcess.<anonymous> (/usr/local/lib/node_modules/appium/node_modules/teen_process/lib/teen_process.js:240:14)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)

下面是我的驱动初始化代码:

public static void main(String[] args) {
        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability("deviceName", "My Phone");
        caps.setCapability("platformName", "Android");
        caps.setCapability("browserName", "Chrome");
        caps.setCapability("noReset", true);


        AppiumDriver<MobileElement> driver = null;
        try {
            driver = new AndroidDriver<>(new URL("http://127.0.0.1:4501/wd/hub"), caps);

        } catch (MalformedURLException e) {
            System.out.println(e.getMessage());
        }
        driver.get("http://www.google.com");
    }

我正在使用 Appium1.8 和最新的 android sdk。

感谢您的帮助。谢谢。

【问题讨论】:

    标签: appium appium-android


    【解决方案1】:

    试试这个

     public static void main(String[] args) {
                DesiredCapabilities caps = new DesiredCapabilities();
                caps.setCapability("deviceName", "My Phone");
                caps.setCapability("platformName", "");
                caps.setCapability("browserName", "Chrome");
                caps.setCapability("noReset", "true");
    
    
                AppiumDriver<MobileElement> driver = null;
                try {
                    driver = new AndroidDriver<>(new URL("http://127.0.0.1:4501/wd/hub"), caps);
    
                } catch (MalformedURLException e) {
                    System.out.println(e.getMessage());
                }
                driver.get("http://www.google.com");
            }
    

    【讨论】:

    • 感谢您的时间和帮助我,但这不起作用。
    【解决方案2】:

    我已经通过在功能中传递 uiautomator2 解决了这个问题。

    caps.setCapability("automationName", "uiautomator2");
    

    现在 appium 选择了 uiautomator2 而不是 uiautomator 并且浏览器正在成功启动。

    【讨论】:

      猜你喜欢
      • 2020-09-16
      • 2018-09-11
      • 2019-02-09
      • 2020-01-19
      • 1970-01-01
      • 2017-04-13
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      相关资源
      最近更新 更多