2015-08-27 15 views
7

我想找到一個UIView XCUIElement,但我似乎無法找到它。這個UIView用於向用戶顯示某些信息,我需要能夠測試它是否在某些情況下在屏幕上。我有view.userInteractionEnabled設置爲YES。Swift UI測試查找自定義UIView XCUIElement

我試過打'記錄'並選擇它,但它似乎並不可選,因爲它不寫代碼,當我點擊它時找到它。

我試着以編程方式找到它,但XCUIElementType Any和其他似乎沒有找到它,而我沒有看到更合適的View。

我已經嘗試在故事板中設置輔助功能,但所有可訪問性似乎在運行單元測試時都消失了。

這似乎應該是非常基本的,所以對不起,如果我錯過了這裏的東西。

+0

您是否使用最新的Xcode? Beta 6我認爲...如果你分享你的代碼,我可以看看。 –

+0

哇,他們每週都會發布這個測試版的新版本,看起來不行,我沒有5.我沒有太多的代碼可以分享,因爲我不知道該怎麼做;理想的代碼看起來很像self.app.xxx.elementBoundByIndex(UInt(0)),其中xxx是視圖,類似於如何訪問其他元素 – Alex

+0

您是否找到解決方案? – Tomte

回答

0

據我所知,XCUI使用可訪問性信息來訪問對象。在我的應用程序中,我有一個自定義視圖,它的語義行爲像一個圖像(它顯示了一些圖形內容)。它使用界面構建器進行設置,因此在故事板中,我選擇了它並打開了以下輔助功能元素。

snapshot of interface builder

我的應用程序的其它元素,其作用類似於按鈕自定義的UIView,和被捆綁在另一個內部自定義的UIView,所以我不能從設置界面生成器的輔助功能屬性。所以我把它們設置在代碼中:

self.accessibilityTraits = UIAccessibilityTraitButton 
    self.accessibilityIdentifier = "commit" 
    self.accessibilityLabel = "Commit" 

那樣,錄製模式很好地找到我所有的自定義視圖。

+0

你錯過了一點你是如何使用uitest網站。 –