无法在appium自动化期间切换android应用程序
问题描述:
我有以下代码。无法在appium自动化期间切换android应用程序
DesiredCapabilities capabilities =DesiredCapabilities.android();
capabilities.setCapability("device","Android");
capabilities.setCapability("deviceName","hammerhead");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("appPackage","com.android.calculator2");
capabilities.setCapability("appActivity","com.android.calculator2.Calculator");
AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@resource-id='com.android.calculator2:id/digit_7']")).click();
driver.findElement(By.xpath("//*[@resource-id='com.android.calculator2:id/op_add']")).click();
driver.startActivity("com.android.browser","com.android.browser.BrowserActivity");
“java.lang.reflect.InvocationTargetException”在执行driver.startActivity行时发生错误。我在这里犯了什么错误?
答
Invocation Target Exception:- This exception occurs when an underlying method throws an exception. So if there is any method that is invoked using
Reflection API
throws any runtime exception, the Reflection API will wrap that exception inInvocationTargetException
您可以通过使用getCause()
方法对InvocationTargetException
找出原/实际exception
。
答
我也有同样的问题。这是由于StringUtils的问题。我下载了Apache Commons Lang插件,问题解决了。
下载可以在这里找到: http://commons.apache.org/proper/commons-lang/download_lang.cgi
下载后,在IDE中添加的commons-lang3-3.4.jar到外部库。
原因:null target:java.lang.NoClassDefFoundError:org/apache/commons/lang3/StringUtils – user1700354
所以现在您遇到了错误,您可以继续解决此问题。 JVM无法找到您的类定义。 – Paras
我将commons-lang-2.6保留在构建路径中。仍然存在错误。但是如何从driver.startActivity()抛出这个异常呢? – user1700354