2013-06-19 33 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

它爲我工作。 –