2016-05-16 5 views
1

私は、テーブルビューのセルの中にあるコレクションビューを持っています(私はそれが気に入っています)。UIにしたいコレクションビューのスクロールをテストします。私はこのために録音ボタンを使用しますが、Xcodeはコレクションビューのスワイプをタップとして認識します。生成されたUIテストコードを手動で[collectionview tap]から[collectionview scrollLeft],に変更すると動作しますが、Xcodeは自動的にスワイプするコードを生成しません。Xcode 7 UIスワイプを記録しないテスト

何が問題なのですか?

+1

Xcode 7.3.1では、UIテストがまったく機能しないため、うまくいけばうれしいです。 – matt

+0

ええ、私は幸せになるだろうが、そうではありません! –

答えて

0

アップルにバグを報告し、サンプルプロジェクトを含めるべきだと思います。

録音システムでは、タップ、長押し、スワイプの区別が難しい場合があります。信頼できるタップイベントの記録を見てきましたが、私は手動でスワイプまたはタイプテキストのステップを入力していることがわかりました。一般的には、UIテスト記録機能を使用して特定の要素の識別を支援しています。そこで、ユーザーのやりとりとアサーションを指定するためにコードで作業します。

githubまたはcollectionView-inside-tableViewCellコンフィグレーションでサンプルプロジェクトを作成する場合は、ぜひご覧ください。

EDIT:サンプルプロジェクトを試した後、Xcodeに最初のセルからswipeLeftイベントとswipeRightイベントを記録させることができました。最もエレガントなアプローチではありませんが、MacBook Airのトラックパッドでは、マウスボタンを押さずに1本の指で水平スワイプを開始し、最初の指がまだスワイプしている間に別の指でボタンを押します。

Xcodeがこれを単にタップとして記録し、少なくとも2つのインスタンスでtwoFingerTapを記録した例がありました。

+0

それは素晴らしい、ありがとう!最初のテーブルセルには、2つのセル(赤と青)を持つコレクションビューが含まれています。 https://github.com/balikaa16/Recall-テスト –

+0

それを今見てください – bneely

+0

ありがとう! @bneely –

1

ジェスチャーであなたの軌道はあなたがスワイプされている(上/下/左/右)方向に、高速のストレートと真である場合にXcodeのが唯一のスワイプなどのジェスチャーを認識しています。

私の推測では、このことですドラッグツールやタップアンドホールドジェスチャーをスワイプとして記録することはできません。これは、これらがレコーディングツールでサポートされていないためです。あなたがそれらのいずれかのために行くなら、タップジェスチャーは近くになります。

回避策として、スワイプが期待される場所をメモし、スワイプが記録されていないときのようにジェスチャを切り替えます。

関連する問題