嘗試運行KIF測試。我想點擊帶有輔助功能標籤「LOG IN」的按鈕,但它會顯示「查看未啓用交互」消息。KIF測試失敗 - 查看未啓用交互
[tester tapViewWithAccessibilityLabel:@"SIGN IN"];
該按鈕在那裏,它的標籤中有這個文字。如何「啓用」此UI元素?
嘗試運行KIF測試。我想點擊帶有輔助功能標籤「LOG IN」的按鈕,但它會顯示「查看未啓用交互」消息。KIF測試失敗 - 查看未啓用交互
[tester tapViewWithAccessibilityLabel:@"SIGN IN"];
該按鈕在那裏,它的標籤中有這個文字。如何「啓用」此UI元素?
如果視圖的isUserInteractionActuallyEnabled
產生NO
,您會收到此錯誤消息。例如,看看KIFUITestActor.m
中tapAccessibilityElement:inView:
的定義。方法isUserInteractionActuallyEnabled
在UIView-KIFAdditions.m
中實現,基本上檢查視圖的屬性isUserInteractionEnabled
,並且如果您點擊導航欄或操作表中的按鈕,將執行一些更詳細的檢查。
您應該嘗試在用戶定義的運行時屬性(關鍵路徑設置爲「accessibilityLabel」,類型設置爲「字符串」並將值設置爲「登錄」)時在身份檢查器下的Xcode界面構建器中設置accessibilityLabel。
還有其他的方法來設置accessibilityLabel像代碼,你可以說:
[_buttonName setValue:@"SIGN IN" forKey:@"accessibilityLabel"];
我希望這一個幫助
FOR KIF:另一種方式來告訴視圖上的用戶交互信息是打開iOS模擬器中的輔助功能檢查器。這會讓您點擊視圖,看看它們是否實際上可點擊/或無意中被其他視圖攔截。它還會顯示視圖是否具有輔助功能標籤,特徵(按鈕,標籤,靜態文本)和/或框架。用於檢查您的用戶交互 - 即。如果它是靜態文本或按鈕等
要打開可訪問性檢查器:運行您的應用程序,打開模擬器--->單擊主頁按鈕---->轉到設置--->一般 - - >輔助功能--->將可訪問性檢查器切換到ON --->再次運行您的應用程序或再次單擊HOME按鈕,然後單擊您的應用程序。
奇怪的是,明確地設置'accessibilityLabel'對我來說很合適,即使KIF將它視爲已經設置好了。 –