8

For running tests on an Android app, how can I automate the tap on a x,y coordinate of either the view or the screen?

I am hoping that there is some call in ActivityInstrumentationTestCase2 or TouchUtils, but haven't found one yet.

4

1 に答える 1

4

したがって、これは試していませんが、ドキュメントに目を通すと、この効果に対して何かできる可能性があります。

  1. (タッチ アクションからデバッガーを介して) をキャプチャし、ACTION_DOWN MotionEventそのプロパティ (ダウン タイム、イベント時間、およびメタ状態) を記録します。これは、典型的なタッチ イベントをシミュレートするためにどのような値を使用する必要があるかを判断するために 1 回実行するだけで済みます。

  2. テスト プログラムで、新しいMotionEventwith を作成します。MotionEvent.obtain()

    MotionEvent newTouch = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_DOWN, x, y, metaState);

  3. ビューでイベントをディスパッチします。

    view.dispatchTouchEvent(newTouch);

于 2012-05-02T20:26:08.833 に答える