我試圖通過快照當前屏幕元素(標籤,圖像,按鈕)並將其可訪問性信息保存到Json文件來擴展Xcode 7中的新UI測試功能。在Xcode 7中進行UI測試時應用程序資源不可用
這個想法是,當稍後運行UI測試時,可以獲取當前屏幕快照並與現有屏幕快照進行比較,如果發現其他元素或缺失元素,測試將失敗。
不幸的是,在UI測試期間,即使使用正確的目標,應用程序資源似乎也不可用,因此無法加載json文件進行比較。下面的標準代碼無法對資源加載:
guard let resourcePath = NSBundle.mainBundle().pathForResource ("StartScreenShapshot", ofType:"json") else {
XCTFail ("can't load resource StartScreenShapshot")
return
}
我能理解爲什麼蘋果已經採取了這種沙箱方法,如UI測試應根據所發生的事情在屏幕上,並訪問應用程序不應該的工作」不需要,但無法訪問資源包是一件痛苦的事情。
那麼在Xcode 7 UI測試期間,有沒有辦法從應用程序或其他本地方式加載本地資源?
保存文件在本地(自動)也將是一個巨大的優勢,將保存手動創建它們。
似乎你遇到了ol d與測試和捆綁問題,如果這樣看這個問題http://stackoverflow.com/a/19636417/1403732 – sage444
謝謝你,這是問題。已經發布了一個答案,歡呼。 – danfordham