簡體   English   中英

Xcode 7 UI 測試,錄制按鈕灰顯

[英]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()

    }

由於不需要使用它。 一旦我將它添加回來,記錄按鈕就被啟用了。

對我來說,問題是“版本編輯器”窗格已打開。 一旦我切換回助理編輯器,它就起作用了。

測試方法必須以單詞test開頭,以便 Xcode 識別它並允許在光標位於方法內時進行記錄。

Xcode 識別該方法的一個跡象是出現在方法名稱左側的菱形:

在此處輸入圖片說明

這有點愚蠢,但在我閱讀的一些文章中遺漏了。

確保你有一個 UITesting 目標,一個常規的測試目標並沒有為我做。

聽起來很傻,我不得不從左側的側邊欄中選擇另一個文件,然后返回我的帶有測試用例的文件。 之后,按鈕立即變為活動狀態。

檢查您的版本編輯器並進行更正

在此處輸入圖片說明

在此處輸入圖片說明

我做了一些事情來啟用我的記錄按鈕:

  1. (可選,推薦)- 刪除項目的所有 TEST 方案和 TEST 目標,通過創建新的 UITest 目標重新開始。
  2. 確保你的 UITest 方案和主項目運行方案指向同一個目標。
  3. 如果可以輕松重新創建/不是絕對重要,請嘗試刪除其他 UITest 方案。
  4. 產品 >(按住 ALT 鍵)> 清理構建文件夾
  5. 產品 > 清潔(只是為了安全措施)
  6. 關閉項目,退出 Xcode。
  7. 退出模擬器。
  8. 最后,重新打開 Xcode,加載您的項目。 導航到您的 UITest 文件,應該可以使用紅色的快樂小按鈕。

此外,請確保您的構建/運行目標設置為 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM