我尝试使用Appium(在Java)上测试Mac OS X上的Android设备。构建路径包括以下内容:
java-client-<version>.jar
java-client-<verson>-sources.jar
selenium-java-<version>.jar
selenium-server-standalone-<version>.jar
(最后2个版本是相同的)和testng。
启动Appium Server(我正在使用GUI)工作正常,并且应用程序(已安装在设备上)启动了应用程序。开始调试我的日食项目,其中包含以下行,我会收到第三行的错误。
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "Plus");
AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
我遇到的完整错误是:
org.openqa.selenium.SessionNotCreatedException: A new session could not be created. Details: Problem getting session data for driver type AndroidDriver; does it implement 'get driverData'?
您是说使用GUI会启动应用程序?如果是这样,并且您在代码中显示的是您的完整所需障碍,那么您的功能将是问题所在。
您可以看到Appium GUI在顶部使用的功能,并带有文本"使用命令启动Appium"。
如果您在功能中设置了这些标志,则驱动程序应正确连接。
您忘了使用driver.close()
?
尝试重新启动您的Appium服务器。
p/s:当您不想关闭驱动程序时,您需要在Appium GUI设置中启用会话Override 或在Appium命令行中添加--session-override
。那么您无需重新启动Appium Server