私はsikuliが初めてです。Java spring スタンドアロン アプリケーションの機能テストの自動化に使用しています。画面上の複数の場所に同じ画像 (ロゴ) のセットがあります。アプリケーションデータに従って動的に生成されます。その場合、UI で特定のボタン/要素を見つけてクリックするにはどうすればよいですか。例: いいね、シェア、コメントのテキスト/画像は、Facebook ページに数回表示されます。その中で、特定のボタンをクリックする方法について説明します (Facebook は単なる例です)。アプリケーションに同様のソリューションが必要です。
2 に答える
あなたのFBの例に基づいてsetROI()
、ページの一番上の投稿に焦点を当てるために使用できます(ニュースフィードの完全な投稿を覆う長方形を想像してください)そこからループします:
if exists(profile pic):
click(like button)
elif exists(profile pic 2): # If you are testing more than one user
click(like button)
else : type(Key.DOWN) #repeat as needed
ROI に次の投稿を取得するのは難しいかもしれませWHEEL_DOWN
んが、システムでホイールをクリックするたびに移動するラインを調整できる場合は、を使用すると役立つ場合があります。
あなたが求めているのは、同じ画像またはUI要素が同じページに複数回存在する場合、これらの要素の1つをある場所で指定するのに対して、別の場所で同じ要素を指定するにはどうすればよいですか?
これをすばやく簡単に行う方法は、できる限りウィンドウ全体など、より大きな画像をキャプチャし、クリック アクションの後にかっこ内の画像をクリックすることです。これにより、ファイル、一致するプレビュー、およびターゲット オフセットを読み取るウィンドウが開きます。ターゲット オフセットをクリックし、マウス ホイールを使用してズームインし、クリックしたい画像の正確なポイントをクリックします。
別の click() コマンドを使用し、新しい画像を必要とせずに各 click() コマンドのターゲット オフセットを設定できる場合は、キャプチャした画像の複数の場所をクリックすることができます。
この 1 つの画像だけで、64 個の click() コマンドのそれぞれにオフセットを設定する時間があれば、ボード上のすべての正方形をクリックできる可能性があります。 http://files.chesscomfiles.com/images_users/tiny_mce/cigoL/Chessboard.png
より難しい解決策は、地域を設定し、それらの地域で一致する画像を検索することですが、探しているものについては、地域と設定の詳細については、以下のリンクを確認してください。乾杯!