0

我正在尝试cloud.seetest.io通过在 eclipse 中安装 appium studio 插件在云平台的 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);

    }
4

4 回答 4

0

根据Set Appium Java Client章节,很可能不支持您的Appium 客户端库版本:

您可以通过向 Maven 和 Gradle 项目添加依赖项来使用 Appium Java 客户端

请确保替换为适当的版本:

  • 4.1.2
  • 5.0.4
  • 6.1.0
  • 7.0.0

建议在代码导出前使用公共 maven repo。

因此,请检查您的依赖项管理文件并确保将io.appium.java-client依赖项更新为受支持的版本之一。

于 2019-05-08T09:57:37.083 回答
0

Experitest 的客户端库可能会丢失。尝试添加compile 'com.experitest:repo:+'您的 build.gradle。这将下载最新的客户端库。文档可能会帮助您使用 Appium Studio 插件创建示例项目

于 2019-05-09T13:30:52.763 回答
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);

这里在下面的行注释,然后运行它将工作 desiredCap.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);

解决方案 2 或保持所需功能的上述线,但在此之前在 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);
于 2019-05-13T06:52:45.130 回答
0

当驱动程序无法启动时会出现此问题。在连接到 experitest 时,这些可能是导致此错误的问题:

  1. 专家执照。如果许可证一次用于一个设备/会话,则不能尝试创建另一个会话。

  2. 所需的能力。确保您在代码中提到的设备 id 的设备在 seetest 云中可用。最佳做法是首先阻止设备,然后将 UDID 复制到代码中。

事实上,可能有很多原因导致没有创建驱动程序。堆栈跟踪中提到了此错误背后的实际原因。顺着堆栈跟踪下去,你会找到真正的原因。

就我而言,这是第二次发生。

于 2019-09-11T09:13:42.627 回答