import android.support.test.uiautomator.UiObject2; //导入方法依赖的package包/类
@Category(CategoryAppStoreTests_v3_3_15.class)
@Test
public void test008InstallAppFromHot() throws UiObjectNotFoundException, IOException {
device.registerWatcher("downLoadFail", new UiWatcher() {
@Override
public boolean checkForCondition() {
UiObject2 confirmObj = device.findObject(By.res("woyou.market:id/tv_confirm"));
if(null != confirmObj){
confirmObj.clickAndWait(Until.newWindow(),LONG_WAIT);
return true;
}
return false;
}
});
TestUtils.screenshotCap("appStoreHome");
UiObject2 hotObj = device.findObject(By.res("woyou.market:id/tv_hot_all").text("全部"));
hotObj.clickAndWait(Until.newWindow(), LONG_WAIT);
TestUtils.screenshotCap("allHotAppsInterface");
UiScrollable hotAllScroll = new UiScrollable(new UiSelector().resourceId("woyou.market:id/list_view"));
hotAllScroll.scrollTextIntoView("安装");
TestUtils.screenshotCap("ScrollToInstallableInterface");
UiObject2 installObj = device.findObject(By.text("安装"));
UiObject2 fullInstallObj = installObj.getParent().getParent();
UiObject2 installNameObj = fullInstallObj.findObject(By.res("woyou.market:id/tv_name"));
String name = installNameObj.getText();
UiObject2 installObjnew = fullInstallObj.getParent().findObject(By.text("安装"));
installObjnew.click();
TestUtils.screenshotCap("afterClickInstallBtn");
boolean installSucc = installObjnew.wait(Until.textEquals("打开"),DOWNLOAD_WAIT);
if(!installSucc){
installObjnew.click();
TestUtils.screenshotCap("installFailed");
Assert.fail("下载安装了300秒,仍然未安装好,暂停了下载");
}
TestUtils.screenshotCap("afterInstalled");
device.pressHome();
Boolean b = TestUtils.findAppByText(name);
TestUtils.screenshotCap("findInstalledApp");
Assert.assertTrue("桌面上未找到\""+name+"\"这个应用",b);
}