4

ipad アプリケーションのいくつかのテストを自動化しようとしています。

カスタムビューを含むスクロールビューがあります。

  • カスタム ビューは drawRect を上書きし、TapRecognizer を持っています。
  • カスタム ビューがコードに作成され、このプロパティを設定しました

myView.userInteractionEnabled = YES;
[myView setIsAccessibilityElement:YES];
[myView setAccessibilityLabel:@"myView"];

  • カスタムビューはスクロールビューに追加されます

[myScrollView addSubview:myView];

デバイスとシミュレーターの両方ですべてがスムーズに機能します。ビューをタップすると、タップ認識コールバックが呼び出され、カスタム ビューがタップ ポイントに何かを描画できます。

ビュー テストを自動化し、myView でのユーザーのタップをシミュレートする必要があります。

uiautomation スクリプトには、次のようなものがあります。

myView = circuitScrollView.elements()[0];       
myView.logElement();
myView.tapWithOptions({x:56, y:576});

位置 x=56 および y=576 でのユーザーのタップをシミュレートします。

myView はタップを受信して​​いないようです (念のため、TapRecognizer にサウンドを再生しましたが、一度も鳴らされていません)。

私もこれを試しました:


myView.tap();

失敗。

何か案が ?

前もって感謝します。

すばらしい。

4

2 に答える 2

1

これはあなたにとっていくらか役に立つかもしれません。特定のx/y座標をタップするテストを作成しました。以下に示すように、スクロールビューに触れるのではなく、ウィンドウをタップしてみてください。

そうするために私は書いた:

   var window = UIATarget.localTarget(); 
   window.tap({x:x_co , y:y_co}); 

x_coとy_coが私の座標でした。

お役に立てれば。

于 2011-08-15T13:01:19.933 に答える
0

myView = CircuitScrollView.elements()[0]の代わりにmyView = CircuitScrollView.elements()["myView"]が役立つかもしれません。?

たぶん、カスタムビューは、circuitScrollViewの要素ツリーの最初の要素ではありません...

于 2011-03-25T11:03:27.547 に答える