我正在尝试通过在eclipse中安装appium studio插件在云平台cloud.seetest.io
中的android手机中运行测试,以便可以直接从eclipse IDE本身运行测试。
它总是显示错误
org.openqa.selenium.WebDriverException:无法创建新会话,因为找不到包含HttpClient,InputStream和long的'createSession'或无法访问
@BeforeMethod
@Parameters("deviceQuery")
public void setUp(@Optional("@os='android'") String deviceQuery)throws Exception{
init(deviceQuery);
// Init application / device capabilities
dc.setCapability(MobileCapabilityType.APP, "cloud:xxxxxxxx/.xxxx");
dc.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "xxxxx");
dc.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, ".xxxxxx");
dc.setCapability(SeeTestCapabilityType.DEVICE_QUERY, deviceQuery);
dc.setCapability(SeeTestCapabilityType.TEST_NAME, "AndroidDemoTest");
dc.setCapability("appVersion", "1.0.10516");
dc.setCapability("testName", "AndroidDemoTest");
driver = new AndroidDriver<>(new URL(getProperty("url",cloudProperties) + "/wd/hub"), dc);
}
答案 0 :(得分:0)
根据Appium client library一章,很可能不支持您的Set Appium Java Client版本:
您可以通过向Maven和Gradle项目添加依赖项来利用Appium Java客户端
请确保使用适当的版本替换
- 4.1.2
- 5.0.4
- 6.1.0
- 7.0.0
建议在代码导出之前使用公共Maven存储库。
因此,请检查您的依赖性管理文件,并确保将io.appium.java-client依赖性更新为支持的版本之一。
答案 1 :(得分:0)
Experitest的客户端库可能丢失。尝试在您的build.gradle中添加compile 'com.experitest:repo:+'
。这将下载最新的客户端库。 This文档可能会帮助您使用Appium Studio插件创建示例项目
答案 2 :(得分:0)
解决方案第一
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "xyz");
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("platformName", Platform.ANDROID);
capabilities.setCapability("appPackage", "com.hp.HPSupportAssistant");
capabilities.setCapability("appActivity", "com.hp.HPSupportAssistant.MainActivity");
capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 6000); capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS,true);
//desiredCap.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
在下面的行中添加注释,然后运行即可 wantedCap.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.ANDROID_UIAUTOMATOR2);
解决方案第二 或保持所需能力以上,但在此之前 在cmd promt上运行3 cmd
adb shell pm list packages -f > D://t.txt
adb uninstall io.appium.uiautomator2.server
adb uninstall io.appium.uiautomator2.server.test
desiredCap.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.ANDROID_UIAUTOMATOR2);
答案 3 :(得分:0)
当驱动程序无法启动时,会发生此问题。连接到experitest时,这些可能是导致此错误的问题:
实验许可。如果许可证一次仅用于一个设备/会话,则不能尝试创建另一会话。
所需功能。确保具有您在代码中提到的设备ID的设备在seetest云中可用。最佳做法是先阻止设备,然后将UDID复制到代码。
实际上,可能有很多原因导致没有创建驱动程序。该错误背后的实际原因在堆栈跟踪中本身已提及。在堆栈跟踪中查找实际原因。
就我而言,这是第二次发生。