2017-04-17 10 views

答えて

5

間違ったプロセスのビュー階層をデバッグしようとしているため、問題が発生しています。 UIテストでは、2つのプロセスがあります。まずUIテストのランナーです.2番目はあなたのアプリです。どちらも接続されていますが、アプリケーションではなくランナーであるデバッグビューがデフォルトで最初のプロセスを処理しています。ランナーの階層を表示することはできません。したがって、このメッセージ: enter image description here どのプロセスが選択されているか注意してください。

UIテストが起動している間、あなたはアプリ自体には、この選択を変更し、正常にアプリをキャプチャしますデバッグビュー階層のボタンを押すことができます: enter image description here

しかしこれは少しトリッキーです。ランナープロセスはまだアクティブであり、ビューのデバッグモードになっていてもアプリケーションを終了/再起動します。私は単一のテスト方法をテストしている間だけ階層構造を捕捉することができました。 実際にデバッグビュー階層ボタンを押す時間があるため、テスト実行を遅くするためにいくつかの待機コードを置く必要があります。

+0

、正しいプロセスが実行されていますが、MacOSアプリケーションターゲットをデバッグするときにも同じエラーが発生します。 'ビュー階層を取得できません。 詳細:ログタイトル:データソース式の実行に失敗しました。 ログの詳細:式の評価エラー "(ID)[[DBGTargetHub sharedHub] performRequestWithRequestInBase64:]"実行が中断されました。理由:EXC_BAD_ACCESS(コード= 2、アドレス= 0x7fff5f3ffff8) プロセスは式評価前の状態に戻りました。 ''これはバグだと思う。 – stone

+0

http://www.openradar.me/32614709 – stone

0

をUIのビュー階層(別名要素サブツリーは)のデバッグの説明を印刷して見ることができますテストが実行中のアプリケーション。

print(app.debugDescription) 

重要な注意:これは、キャッシュされた階層を使用しているので、あなたはそれを印刷したときに時々、ビュー階層が「背後」1つの図です。これを説明するには、デバッグの説明を印刷する前に、ビュー階層の新しいスナップショットをトリガーするアクションを実行します。

+0

はい、それはまったく同じことです。私は、UIテストを実行中にView UI Hierarchyツールを使用する方法を探しています –

+0

私もですか?これはXcode 9バグですか? Xcode 9ベータ4の –

関連する問題