要使用Caller
在真实的Calculator
设备上测试预安装的APK,例如Android
和Appium
。所有教程都表明我需要使用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)
....
答案 0 :(得分:1)
通过将Java客户端更新为6.1.o版本,此问题已解决。