【问题标题】:Appium server throws "[UiAutomator] UiAutomator exited unexpectedly with code 0, signal null" errorAppium 服务器抛出“[UiAutomator] UiAutomator 意外退出,代码为 0,信号为空”错误
【发布时间】:2022-02-28 17:42:28
【问题描述】:

我正在尝试使用 Eclipse IDE 配置带有 appium 的真实设备以进行测试。附加 CalculatorTest.java 类,我试图在其中链接实时移动设备并在移动设备上打开 Calculator 应用程序。正在使用 Vysor 应用程序通过数据线访问移动设备。

获取 UiAutomator 意外退出,代码 0,Appium 服务器日志中的信号空错误。也附上它的日志。 appium server log

package appiumtests;

import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;

public class CalculatorTest {
    
    static AppiumDriver<MobileElement> driver;

    public static void main(String[] args) {
        
        try {
            openCalculator();
            System.out.println("try ended");
        }catch (Exception exp) {
            System.out.println("Exception 1");
            System.out.println(exp.getCause());
            System.out.println("Exception 2");
            System.out.println(exp.getMessage());
            System.out.println("Exception 3");
            exp.printStackTrace();
            }
    
    }
    
    public static void openCalculator() throws MalformedURLException {
        
        DesiredCapabilities cap = new DesiredCapabilities();

        cap.setCapability("deviceName", "SM-A52s 5G");
        cap.setCapability("udid", "R5CRB1N2LWY");
        cap.setCapability("platformName", "Android");
        cap.setCapability("platformVersion", "12");
        
        cap.setCapability("appPackage", "com.sec.android.app.popupcalculator");
        cap.setCapability("appActivity", "com.sec.android.app.popupcalculator.Calculator");
        
        String baseURL = "http://0.0.0.0:";
        String minorURL = "/wd/hub";
        String port = "4723";
        URL url = new URL(baseURL+port+minorURL);

        System.out.println("before AppiumDriver<MobileElement>");
        driver = new AppiumDriver<MobileElement>(url, cap);
        
        System.out.println("Application Started....");
        
    }
}

pom.xml 文件有以下代码:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>appiumtests</groupId>
  <artifactId>appiumtests</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <description>sample appium project</description>
  <dependencies>
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/io.appium/java-client -->
    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>7.3.0</version>
    </dependency>


  </dependencies>
</project>

我关注了Getting UiAutomator exited unexpectedly with code 0, signal null error,但它并没有帮助我解决问题。任何帮助都将受到高度评价。

我的系统上安装的 FYI 先决条件是:

  1. 节点 v16.13.2
  2. npm 8.1.2
  3. appium 1.22.2
  4. android-studio-2021.1.1.20-windows
  5. appium-doctor 1.16.0
  6. java-client 7.3.0
  7. 硒-java 3.141.59
  8. java 17.0.2

【问题讨论】:

    标签: javascript appium appium-android appium-java


    【解决方案1】:

    此 UiAutomator 以代码 0 意外退出,信号为空”错误表示驱动程序当前无法确定驱动程序支持的设备,

    只需将其添加到您的功能代码中,

     "automationName": "UiAutomator2",
    

    【讨论】:

      【解决方案2】:

      appium server 运行时使用 UiAutomator 有时会出现问题,你可以停止 appium server 然后打开 UiAutomator。

      【讨论】:

        猜你喜欢
        • 2019-05-24
        • 2019-06-14
        • 2022-11-01
        • 1970-01-01
        • 2016-05-15
        • 2016-11-23
        • 2014-08-11
        • 2016-08-11
        • 2013-08-17
        相关资源
        最近更新 更多