java.lang.NullPointerException 在 io.appium.java_client.service.local.AppiumDriverLocalService.destroyProcess(AppiumDriverLocalService.java:220)

问题描述 投票:0回答:0

我在以编程方式运行appium服务器时遇到了这个错误,但是我写的测试代码执行成功并连接到模拟器(android studio)。

package com.codenbox;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.time.Duration;

import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.options.UiAutomator2Options;
import io.appium.java_client.service.local.AppiumDriverLocalService;
import io.appium.java_client.service.local.AppiumServiceBuilder;

public class Base {

    public AndroidDriver driver;
    public AppiumDriverLocalService service;

    @BeforeClass
    public void configureAppium() throws MalformedURLException, InterruptedException {

        AppiumServiceBuilder builder = new AppiumServiceBuilder ();
        builder = new AppiumServiceBuilder();
        builder.withAppiumJS(new File("C:\\Users\\Admin\\AppData\\Roaming\\npm\\node_modules\\appium\\build\\lib\\main.js"));
        builder.withIPAddress("127.0.0.1");
        builder.usingPort(4723);
        
        try {
            service = AppiumDriverLocalService.buildService(builder);
            service.start();
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        
        // create capabilities
        UiAutomator2Options options = new UiAutomator2Options();
        options.setDeviceName("Demo 1");
        // ApiDemos-debug apk
        options.setApp(System.getProperty("user.dir")+"\\src\\test\\java\\com\\codenbox\\resources\\ApiDemos-debug.apk");
        options.setChromedriverExecutable(System.getProperty("user.dir")+"\\src\\test\\java\\com\\codenbox\\resources\\chromedriver.exe");
        //create object for AndroidDriver/IOSDriver
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723"), options);
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
    }

    @AfterClass
    public void tearDown() {
        driver.quit();
        service.stop();
    }
    
}

我想让你知道上面的代码在我的早期测试阶段运行良好。我不知道是什么触发了这个问题,我已经更新/降级了我的依赖项,反之亦然,但仍然无法正常工作。

maven selenium-webdriver testng appium-java
© www.soinside.com 2019 - 2024. All rights reserved.