AndroidDriver 构造函数上升 NullReferenceException

本文关键字:NullReferenceException 构造函数 AndroidDriver | 更新日期: 2023-09-27 17:56:49

我使用在Mac机器上运行的Appium服务器和带有c#绑定的AppiumDriver从Windows机器执行测试。问题是,当我创建AndroidDriver的实例时,它的ctor会引发NullReferenceException。当我创建远程WebDriver的实例时,它运行顺利。这是我的代码:

var caps = new DesiredCapabilities();
caps.SetCapability(MobileCapabilityType.DeviceName, "Nexus_4");
caps.SetCapability("udid", "<valid-device-id>");
caps.SetCapability(MobileCapabilityType.App, "https://valid/path/to/my.apk");
caps.SetCapability(MobileCapabilityType.PlatformName, MobilePlatform.Android);
using (var drv = new AndroidDriver(ServerUri, caps)) // rises exception
//using (var drv = new RemoteWebDriver(ServerUri, caps)) // works smoothly
{
    drv.GetScreenshot().SaveAsFile("Android.png", ImageFormat.Png);
}

例外:

System.NullReferenceException : Object reference not set to an instance of an object.
Result StackTrace:  
at OpenQA.Selenium.Appium.AppiumDriver._AddAppiumCommands()
at OpenQA.Selenium.Appium.AppiumDriver..ctor(Uri remoteAddress, ICapabilities desiredCapabilities)
at OpenQA.Selenium.Appium.Android.AndroidDriver..ctor(Uri remoteAddress, DesiredCapabilities desiredCapabilities)

我错在哪里?为什么 AndroidDriver 的构造函数会上升这个可执行文件并且没有说明原因?

AndroidDriver 构造函数上升 NullReferenceException

该错误在最新的Appium.Webdriver版本中得到解决。