我正在研究一個基本的iOS教程應用程序,並認爲我也可以開始學習一些EarlGrey
。我自動化的測試有這個流程 -EarlGrey凍結了一段時間,當我在一大組TableViewCells上搜索
我有一個很大的UITableView,我預先填充一些隨機生成的單詞。這些可能會很長,我可能在我的TableView中有超過100個單元格。
在我的測試中,我隨機選擇一個生成的單詞並在單元格內搜索它。每個單元有以下界面:
| | | |Word| |Word-Count| | UIImage | | | |
EarlGrey
所以 -
- (void)setup {
[super setup];
GeneratorClass dataSource =
[[GeneratorClass alloc] initWithRandomData];
self.tableView.dataSource = dataSource;
_randomSelectedValue = dataSource.randomValue;
}
- (void)testTableElementVisible {
id<GREYMatcher> *cellMatcher = grey_allOf(grey_minimumVisiblePercent(0.0f),
grey_interactable(),
grey_isKindOfClass([UITableViewCell class]),
grey_text(_randomSelectedValue), nil);
[[EarlGrey selectElementWithMatcher:cellMatcher]
asserWithMatcher:grey_sufficientlyVisible()];
[[EarlGrey selectElementWithMatcher:cellMatcher]
performAction:grey_tap()];
}
然而,詹金斯,這個測試需要相當長的運行和失敗,"Timeout (currently set to 30) occurred when looking for elements."
屏幕被凍結,雖然在本地我可以看到水龍頭髮生,我沒有能夠通過它。有沒有什麼方法可以加速這個測試,或者我在這裏做了什麼錯誤導致EarlGrey凍結?
正在下載圖像嗎?數據填充時是否有任何網絡活動或動畫?數據源是預先加載所有數據還是按需要進行? – khandpur
我之前做過網絡請求,因爲它的工具比完成交互持續時間要長。但現在已被刪除。數據全部預先加載到數組中,並且沒有任何動畫發生。 –