Xcode 7 を使用して既存のプロジェクトに UI テストを追加しようとしています。ただし、UI テストの記録ボタンは常にグレー表示されています。ここで何が欠けていますか?
Xcode を再起動し、プロジェクトをクリーニングして再構築し、新しい UI テスト ターゲットを追加してみました。他の誰かが同じ行動を経験していますか?
Xcode 7 を使用して既存のプロジェクトに UI テストを追加しようとしています。ただし、UI テストの記録ボタンは常にグレー表示されています。ここで何が欠けていますか?
Xcode を再起動し、プロジェクトをクリーニングして再構築し、新しい UI テスト ターゲットを追加してみました。他の誰かが同じ行動を経験していますか?
Xcode 8.3 でも同じ問題が発生しました。
tearDown
メソッドを削除しました
override func tearDown() {
super.tearDown()
}
それを使用する必要はありませんでした。追加するとすぐに、録音ボタンが有効になりました。
私にとって、問題は「バージョン エディター」ペインが開いていたことです。Assistant Editor に戻すとすぐに機能しました。
録音ボタンを有効にするために、いくつかのことを行いました。
また、ビルド/実行ターゲットが iPhone X 9.X に設定されていることを確認してください。
ここにリストされていない別の解決策を見つけました。
をサブクラス化している場合はXCTestCase
、クラスを再度継承するように変更し、ファイルを保存して、サブクラス名に戻します。クリーンアップやビルドは必要ありません。
私のプロジェクトでは、 のサブクラスを持っています。XCTestCase
それを と呼びましょうAPPMyTestCase
。記録ボタンがグレー表示され、各テストメソッドの横にある小さな緑/赤のボタンが表示されず、個別に実行できないことがよくあります。サブクラスを一瞬戻すとXCTestCase
、すべてが再び機能します。
これを変える:
class APPLoadingPageUITests: APPMyTestCase {
// tests here
}
これに:
class APPLoadingPageUITests: XCTestCase {
// tests here
}
そして、これに戻ります:
class APPLoadingPageUITests: APPMyTestCase {
// tests here
}
これで修正されました。
XCTestCase
ファイルごとに のサブクラスを 1 つだけ持つようにしてください。ファイル名とクラス名を一致させたい。
私の経験では、UI テストが動作している場合でも、動作中の XCTestCase サブクラスの新しいサブクラスを同じファイルに追加すると、記録ボタンが無効になります (ただし、他のすべてのテスト UI は引き続き動作します)。
テストするビュー クラスをインポートする必要があります。次にカーソルをテストメソッドに置きます。