2013-04-25 51 views
0

我在Samsung Galaxy SII上运行Android 4.1.2版本。我最近开始使用UIAutomator来测试我的用户界面。问题是,每次我尝试在手机上运行测试时,都会在UIScrollable对象上使用setAsHorizo​​ntalList()方法获取NoSuchMethodError。 Eclipse确实认识到了这个方法,并没有给出编译错误。Android UIAutomator:setAsHorizo​​ntalList()抛出noSuchMethodError

private void turnOffNetwork() throws UiObjectNotFoundException { 
     getUiDevice().pressHome(); 

     UiObject allAppsButton = new UiObject(new UiSelector().description("Apps")); 
     allAppsButton.clickAndWaitForNewWindow(); 
     UiObject appsTab = new UiObject(new UiSelector().text("Apps")); 
     appsTab.click(); 
     UiScrollable appViews = new UiScrollable(new UiSelector().scrollable(true)); 
     appViews.setAsHorizontalList(); 
     UiObject settingsApp = appViews.getChildByText(new UiSelector().className(android.widget.TextView.class.getName()), "Instellingen"); 

     settingsApp.clickAndWaitForNewWindow(); 

     UiObject switchObject = new UiObject(new UiSelector().className(android.widget.Switch.class.getName())); 

     if (switchObject.isChecked()) { 
      switchObject.click(); 
     } 
    } 
+1

您是否在使用uiautomator.jar和android.jar的API 16版本?或者你使用API​​ 17? – CommonsWare 2013-04-25 11:44:01

+0

我正在使用API​​ 17. – 2013-04-26 07:47:28

+0

@CommonsWare是否有解决方法让它在API 16上工作? – 2014-08-27 23:11:27

回答

2

不幸的是,setAsHorizo​​ntalList()函数只能4.2.2(API 17)的设备上运行,而不是在API 16,你可以尝试在模拟器上或API 17平板我了解到它前几天的努力方式

+0

是否有解决方法让它在API 16上工作? – 2014-08-27 23:10:28

相关问题