UIAutomation测试计时器等到完成

时间:2013-06-19 12:25:15

标签: javascript ios objective-c instruments ui-automation

我使用UIAutomation测试并制作脚本,我需要在cell中循环选择tableView并等到下载转到另一个。

var target = UIATarget.localTarget();

target.frontMostApp().mainWindow().buttons()["Search"].tap();

for(i = 1; i < target.frontMostApp().mainWindow().tableViews()["Empty list"].cells().length; i++ )
{
    if(target.frontMostApp().mainWindow().tableViews()["Empty list"].cells()[i].buttons()["Download"].isHidden)
    {
        UIALogger.logStart("HIDDEN");
        UIALogger.logPass();
    }
    else
    {
            target.frontMostApp().mainWindow().tableViews()["Empty list"].cells()[i].buttons()["Download"].tap();
    }

}

如何在下载结束时创建它我有另一个按钮名View,我的Download被隐藏了。我有一个提示栏,显示下载百分比。

如何停止脚本并等到下载内容然后转到另一个单元格。并下载了。

1 个答案:

答案 0 :(得分:3)

您可以实现while循环来检查条件(例如,可以看到具有下载进度的警报)。确保减慢轮询以便在while循环中检查并且还有一个超时。

这是sudo代码:

while (target.frontMostApp().mainWindow()..<download_progress_alert>.isVisible()) {
    if (timeout) {
        <handle error>
        break;
    }

    //Slowdown polling
    UITarget.delay(<duration in seconds>);
}