我使用下面的类代码通过WiniumDriver启动calculator。在创建WiniumDriver实例之前,我正在启动winium驱动程序服务。
  
  import java.io.File;
import java.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.winium.DesktopOptions;
import org.openqa.selenium.winium.WiniumDriver;
import org.openqa.selenium.winium.WiniumDriverService;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class CalculatorTest {
    static WiniumDriver driver = null;
    static WiniumDriverService service = null;
    static DesktopOptions options = null;
    @BeforeClass
    public static void setupEnvironment(){
        options = new DesktopOptions(); //Instantiate Winium Desktop Options
        options.setApplicationPath("C:\\Windows\\System32\\calc.exe");
        File driverPath = new File("C:\\Winium\\Winium.Desktop.Driver.exe");
        System.setProperty("webdriver.winium.desktop.driver","C:\\Winium\\Winium.Desktop.Driver.exe");
        service = new WiniumDriverService.Builder().usingDriverExecutable(driverPath).usingPort(9999).withVerbose(true)
                .withSilent(false).buildDesktopService();
        try {
            service.start();
        } catch (IOException e) {
            System.out.println("Exception while starting WINIUM service");
            e.printStackTrace();
        }
    }
    @BeforeTest
    public void startDriver(){
        driver = new WiniumDriver(service,options);
    }
    @AfterTest
    public void stopDriver(){
        driver.close();
    }
    @AfterClass
    public void tearDown(){
        service.stop();
    }
  
   在将测试类作为TestNG项运行之后,观察到以下异常。
  
  FAILED CONFIGURATION: @BeforeTest startDriver
java.lang.NullPointerException
    at org.openqa.selenium.winium.WiniumDriverCommandExecutor.<init>(WiniumDriverCommandExecutor.java:59)
    at org.openqa.selenium.winium.WiniumDriver.<init>(WiniumDriver.java:75)
    at com.bravura.automation.CalculatorTest.startDriver(CalculatorTest.java:41)
  
   我仔细检查了calc.exe和Winium的路径。桌面驾驶员exe,我仍然无法启动WiniumDriversService。是否有其他方法启动此服务?winium是否支持windows 10?