各テストケースがXcodeのテストスイートで実行された後、テストステータスが必要です。私は観察者がそれを達成するのを助けることができることを知っています。しかし、私はどのように私のテストでそれを使用するのですか?Xcode UIテストで実行された各テストケースの結果を取得
答えて
あなたは正しい方向に進み、XCTestObservationプロトコル(https://developer.apple.com/documentation/xctest/xctestobservation)で実行したいことを達成できます。オブザーバをテストケースクラスに追加することができます。これは、各テストメソッドの前に実行されるため、setUp()メソッドでこれを行うことをお勧めします。
override func setUp() {
super.setUp()
continueAfterFailure = false
XCUIApplication().launch()
XCTestObservationCenter.shared.addTestObserver(UITestObserver())
}
あなたはXCTestObservationプロトコルに準拠したクラスを実装し、次に何が必要アクション/希望を実行するために興味のある方法に独自の実装を提供する必要がありますこれを行うにしてください。あなたのケースでは、おそらくこのメソッドの実装を提供したいとしている...
optional public func testCase(_ testCase: XCTestCase, didFailWithDescription description: String, inFile filePath: String?, atLine lineNumber: Int)
ここでは、このテスト・オブザーバクラスは
import XCTest
public class UITestObserver: NSObject, XCTestObservation {
public func testCase(_ testCase: XCTestCase,
didFailWithDescription description: String,
inFile filePath: String?,
atLine lineNumber: Int) {
print("failure description: \(description)")
print("failed test case: \(testCase)")
if let filePath = filePath {
print("failure at file path: \(filePath)")
}
print("failure at line: \(lineNumber)")
}
}
...どのように見えるかの簡単な例を示します上記の例を提供したこの関数は、テストケースの1つが失敗したときに呼び出されるため、テストケースクラス内から何かを行う必要はありません。
希望すると便利です。
実行された各テストケースの結果は、*** TestSummeries.plistというファイルに保存されます。
あなたは、あなたのテストを何度も実行すると実行直前DerivedData内部のすべてを削除
~/Library/Developer/Xcode/DerivedData/<your-app-name>/Logs/Test/****_TestSummeries.plist
の下でそれを見つけるでしょう。 TestSummeries.plistは1つしか見つかりません。
次に、plistを解析し、plistファイルから目的のデータを取得します。
**詳しい情報が必要な場合は、下にコメントしてください。
ええ、結果はそのファイルに保存されていますが、テスト結果をTestRailに更新するこのプロセス全体を自動化するため、より効率的な方法を探していました。シームレスにする必要があります。テストが複数回実行される場合、手動でデータを削除する必要はありません。 – Khazana
- 1. コード化されたUIテスト結果ファイル
- 2. コマンドパターンで実行されたメソッドの結果を取得
- 3. 取得テスト結果
- 4. TFSテストケース - 最新の実行結果を得る
- 5. Xcode Ui-automation - 物理デバイス上でテストが実行されない
- 6. UIの実行デバイスのxcode 7のテスト
- 7. selenium pythonで1000以上のテストケースを実行するとテスト結果が得られません
- 8. XCode UIテストケース用スクリプト
- 9. Xcode UIテスト:条件付きでテストを実行する
- 10. soapuiでクロージャを使用して、各テストケースごとにテスト実行を取得できますか
- 11. 前のテストの結果を取得
- 12. XcodeでUIテスト中にテスト実行後にデバッグコンソールを停止したい場合
- 13. グループ化された結果から、行全体を取得
- 14. SQLサーバー(各結果のネストされた行を挿入)
- 15. BDD Jenkinsのテスト結果(合格、失敗したテストケース/機能数)
- 16. Jenkinsテスト結果トレンドグラフは空ですが、テストが実行されます
- 17. JenkinsでXcode(7.3)UIテストを実行できません
- 18. Xcode 9.0.1でXC UIテストを実行できない
- 19. Microsoftテストマネージャーでコード化されたUIテストを実行
- 20. CruiseControl.NETでテストケースを2回実行せずにNUNITとOPENCOVERの結果を取得する方法は?
- 21. コード化されたUIテストと結果をTest Managerで注文する
- 22. Specflowを実行し、キュウリのフォーマットで結果を取得する
- 23. Ubuntu + Jmeter:非GUIモード(分散テスト)でテストを実行中に実行結果がコンソールに表示されない
- 24. テストケースの結果に応じてSoapUIで指定されたステップを実行する方法
- 25. Kiwiを使用したテストの結果を取得
- 26. SSASデータマイニングを使用したテスト&トラッキングセットのスコアリング結果の取得
- 27. tfs/mtmで実行されたテスト内のテストにテスト結果の結果(失敗/合格)を追加する方法
- 28. 配列でクエリを実行し、クエリに渡されたIDの結果を取得したい
- 29. テストケースの各メソッドのブラウザウィンドウ?コード化されたUIを使用する
- 30. Jenkinsがビルドの概要で実行されたテスト/テスト結果をすべて表示していません
詳細をご記入ください。あなたがこれまでに試したことに言及するのを忘れないでください。なぜなら、利他主義者がより効率的な方法であなたを助けることができるからです。 –
もしあなたがこれを必要としている理由**またはあなたのユースケースが何であるかは、単体テストは通常単体で行われます。 –
SwiftまたはObjective-C? –