有没有办法在Selenuim中不使用ApacheHttpClientFactory?

时间:2019-07-12 08:05:02

标签: android selenium appium

要使用Caller在真实的Calculator设备上测试预安装的APK,例如AndroidAppium。所有教程都表明我需要使用URL。

dr = new AndroidDriver(new URL("http://192.168.43.242:4723/wd/hub"), capabilities);

但是ApacheHttpClient$Factory中不推荐使用Selenium 3。该怎么解决?

尝试使用模拟器而不是真实设备,某些带有OkHTTP的包装程序无法正常启动

    @Test
    public void calculator() throws MalformedURLException {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "6PM0116B24000188");
        capabilities.setCapability("platformName", "android");
        capabilities.setCapability("appPackage", "com.android.calculator2");
        capabilities.setCapability("appActivity", ".Calculator");
        AndroidDriver dr = new AndroidDriver(new URL("http://192.168.43.242:4723/wd/hub"), capabilities);
    }

测试应该运行并且计算器应用程序打开。 但出现错误:

    java.lang.NoClassDefFoundError: 
     org/openqa/selenium/remote/internal/ApacheHttpClient$Factory
    at io.appium.java_client.remote.AppiumCommandExecutor.<init>(AppiumCommandExecutor.java:55)
    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:131)
    at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:92)
    at CallingNumberTest.calculator(CallingNumberTest.java:17)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
....

1 个答案:

答案 0 :(得分:1)

通过将Java客户端更新为6.1.o版本,此问题已解决。