[英]Xcode 7 UI Tests, Recording button is greyed out
我正在嘗試使用 Xcode 7 將 UI 測試添加到我現有的項目中。但是,UI 測試錄制按鈕始終顯示為灰色。 我在這里缺少什么?
我嘗試重新啟動 Xcode,清理並重建項目並添加一個新的 UI 測試目標。 有沒有其他人經歷過同樣的行為?
我也被這個問題困住了一段時間。 為了記錄,您必須在 Xcode 識別為包含測試的類中。 將文件添加到您的 UI 測試目標,例如:
import Foundation
import XCTest
class MyTests: XCTestCase {
func testSomething() {
}
}
保存文件,清理您的項目,然后切換到另一個文件,然后再回到這個文件。 錄制按鈕應該是可用的。
FWIW:我遇到了這個問題,結果我試圖在錯誤的操作系統中運行模擬器。
我試圖使用 iOS 8,而 UITesting 僅適用於 iOS 9+。
切換模擬器版本,出現錄制按鈕。
我遇到了同樣的問題,我的設置是正確的,iOS >= 9.0,添加了目標。
問題是 Xcode 索引需要一段時間(大約 1 小時),索引完成后,錄制按鈕變為活動狀態。
在 Xcode 8.3 上有同樣的問題。
我已經刪除了tearDown
方法
override func tearDown() {
super.tearDown()
}
由於不需要使用它。 一旦我將它添加回來,記錄按鈕就被啟用了。
對我來說,問題是“版本編輯器”窗格已打開。 一旦我切換回助理編輯器,它就起作用了。
這有點愚蠢,但在我閱讀的一些文章中遺漏了。
確保你有一個 UITesting 目標,一個常規的測試目標並沒有為我做。
聽起來很傻,我不得不從左側的側邊欄中選擇另一個文件,然后返回我的帶有測試用例的文件。 之后,按鈕立即變為活動狀態。
我做了一些事情來啟用我的記錄按鈕:
此外,請確保您的構建/運行目標設置為 iPhone X 9.X。
我找到了另一個我沒有看到的解決方案。
如果您要繼承XCTestCase
,請更改您的類以再次繼承它,保存文件,將其改回您的子類名稱。 無需清理或構建。
對於我的項目,我有一個 XCTestCase 的XCTestCase
,我們稱之為APPMyTestCase
。 我經常發現記錄按鈕是灰色的,有時每個測試方法旁邊的綠色/紅色小按鈕似乎也無法單獨運行它們。 如果我將我的子類改回XCTestCase
一秒鍾,一切都會恢復正常。
改變這個:
class APPLoadingPageUITests: APPMyTestCase {
// tests here
}
對此:
class APPLoadingPageUITests: XCTestCase {
// tests here
}
然后回到這個:
class APPLoadingPageUITests: APPMyTestCase {
// tests here
}
這為我修好了。
當我切換到正確的方案時,它立即回來了。 確保您使用UI testing
方案,因為 UI 測試記錄器無法在任何其他方案上工作。
確保每個文件只有一個XCTestCase
子類。 您希望文件名和類名匹配。
根據我的經驗,即使你有 UI 測試工作,如果你在同一個文件中添加你的工作 XCTestCase 子類的新子類,記錄按鈕將被禁用(盡管所有其他測試 UI 將繼續工作)。
當我創建 UITest Target 時,並沒有同時創建一個新方案。 因此,我必須使用我創建的測試目標創建一個新方案。 這啟用了記錄按鈕。
您應該導入要測試的視圖類。 然后將光標放在測試方法中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.