2013-06-19 31 views
1

我使用UIAutomation测试和生成脚本,我需要在我的tableView循环选择cell,并等待,直到它下载转到另一个。UIAutomation测试定时器等待,直到完成

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(); 
    } 

} 

我怎样才能让它在下载结束时,我有另一个按钮的名称ViewDownload是隐藏的。我有一个显示下载百分比的进度条提醒。

我该如何停止脚本并等待,直到它下载了某些内容,然后转到另一个单元格。并下载了。

回答

3

您可以实现一个while循环来检查条件(例如,下载进度可见的警报)。确保你减慢轮询检查while循环并且也有超时。

这里是须藤代码:

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

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

没有,它不工作 – user2398911

+0

能否请您解释一下为什么不呢? while循环将停止测试用例进度,直到下载进度警报出现为止。只要下载警报消失,testcase就会从while循环中退出,您可以单击下一个单元格开始另一个下载。 – rakmoh

+0

它为我工作。 –