背景Xcode UI測試:當文本更新時,staticText的標籤不會更新?
我調查我們基於Appium自動化Xcode的UI測試的遷移。鑑於我們的應用程序是用Objective C編寫的,我還需要使用Objective-C作爲測試代碼。
我正在自動化測試的應用程序有一個進度條,其值要讀取。這不是UIAProgressIndicator,只是一個UIAStaticText
,其值從「0」增加到「100%」。
的XCUIElement
對應於該靜態文本可以作爲
[[app staticTexts] elementBoundByIndex:1]
訪問該進度條會採取不同的時間 - 我需要監控的進展,這將涉及讀取值(和解析它的課程)。
我嘗試使用各種方法獲取值 - [XCUIElement value]
和[XCUIElement label]
。
NSString *prog = [[[app staticTexts] elementBoundByIndex:1] label];
的label
方法就是設法讓我進度字符串,所以我在一個循環中這樣做,對於如
int i=0;
while (i<5) {
//custom sleep method
[self.helper threadSleepForSeconds:[NSNumber numberWithInt:2]];
//now get progress text
NSString *prog = [[[app staticTexts] elementBoundByIndex:1] label];
i++;
}
然而,隨着進度的變化,label
屬性不更新 - 它似乎繼續顯示所讀取,就像它的某處緩存第一個值。
即日誌輸出顯示(假設讀的第一個值是19%):
19%
19%
19%
19%
我挺無法弄清楚爲什麼會這樣。任何幫助?