0

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

使用代码 0 意外退出 UiAutomator,在 Appium 服务器日志中发出 null 错误信号。也附上它的日志。appium服务器日志

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 exited with code 0, signal null error但它并没有帮助我解决问题。任何帮助都将受到高度评价。

仅供参考,我的系统上安装的先决条件是:

  1. 节点 v16.13.2
  2. npm 8.1.2
  3. appium 1.22.2
  4. android-studio-2021.1.1.20-windows
  5. appium-医生 1.16.0
  6. java客户端7.3.0
  7. 硒Java 3.141.59
  8. 爪哇 17.0.2
4

2 回答 2

1

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

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

 "automationName": "UiAutomator2",
于 2022-02-28T09:42:28.847 回答
0

有时在 appium 服务器运行时使用 UiAutomator 会产生问题,您可以停止 appium 服务器然后打开 UiAutomator。

于 2022-02-18T16:10:13.053 回答