當的Xcode(7.2和7.3) UI測試,我的測試有時會具有相當一般性錯誤:聲明失敗:UI測試失敗 - 未能取的元素
Assertion Failure: UI Testing Failure - Failure fetching attributes for element
我傾向於在元素上調用.hittable
或.tap()
時出現此錯誤,但我無法說明原因。我已經檢查過我處理的元素都具有正確的可訪問性設置,並且它們所在的任何容器視圖都沒有啓用可訪問性。唉,這似乎不能解決問題。
控制檯日誌顯示:
UI Testing Failure - Failure fetching attributes for element <XCAccessibilityElement: 0x7e68ae50> pid: 89032, context: 4D9272C7-3024-4062-B0FA-E16EF426F17A, payload: {
pid = 89032;
"uid.elementID" = 1432;
"uid.elementOrHash" = 2125772976;
}: Error Domain=XCTestManagerErrorDomain Code=13 "Error copying attributes -25202" UserInfo={NSLocalizedDescription=Error copying attributes -25202}
我試着摸索和管理,發現它已經被記錄,但似乎沒有當前解決方案(radar link)甚至的Xcode 7.3。
似乎有時如果我重新啓動模擬器/設備,這個錯誤不會發生,但這不是一個好的解決方案。
我也有那些。確保正確設置期望值,以便您的視圖層次結構達到您要測試的狀態。在測試異步事件時(即在網絡調用之後點擊一個提供反饋的按鈕),這一點非常重要。 –
這是蘋果的錯誤,你也可以在蘋果的[鏈接](https://forums.developer.apple.com/thread/6437)中顯示。這裏有些人建議一些解決方案可能適合你。如果有任何解決方案對您不適用,請向Apple報告錯誤。在這種情況下,我們無法做到或找到任何解決方案。 – iMHitesh
從Xcode 9開始,你可以使用'waitForExistence(timeout:TimeInterval)'來等待這個元素的存在 – onmyway133