Auto.js入門:単純スクリプトプログラム作成(座標ベースのタッチシミュレーション)

9297 ワード

Auto.js入門:単純スクリプトプログラム作成(座標ベースのタッチシミュレーション)
座標ベースのタッチシミュレーション
この章では、座標を使用してクリック、スライドする関数について説明します.これらの関数にはアンドロイド7.0以上が必要なものもあれば、root権限が必要なものもあります.
クリックする位置の座標を取得するには、開発者オプションで「ポインタ位置」をオンにします.
座標ベースのスクリプトには通常解像度の問題がありますが、setScreenMetrics()関数で自動座標縮小を行うことができます.この関数は、この章のすべてのクリック、長押し、スライドなどの関数に影響します.スクリプト設計時の解像度を設定することで、スクリプトが他の解像度で座標を自動的に縮小します.
関数#カンスウ#
説明
コメント
setScreenMetrics(width, height)
スクリプト座標を設定して、適切な画面幅をクリックします.スクリプトが実行されると、画面幅が一致しないと自動的に座標が縮小されます.
次のすべての関数に影響します.
click(x, y)
座標(x,y)をクリックし、クリックに成功したかどうかをシミュレートします.スクリプトは、実行完了をクリックした後にのみ実行されます.
Android7.0以上有効
longClick(x, y)
座標(x,y)を長く押して、成功したかどうかを返します.スクリプトは、長押し実行(約600ミリ秒)が完了した場合にのみ実行されます.
Android7.0以上有効
press(x, y, duration)
シミュレーションは座標(x,y)を押して、成功したかどうかを返します.スクリプトは、押したまま実行が完了した場合にのみ実行されます.
Android7.0以上有効
swipe(x1, y1, x2, y2, duration)
座標(x 1,y 1)から座標(x 2,y 2)にスライドし、成功したかどうかをシミュレートします.スクリプトは、スライド操作の実行が完了した場合にのみ実行されます.
Android7.0以上有効
gesture(duration, [x1, y1], [x2, y2], …)
ジェスチャー操作をシミュレートします.
Android7.0以上有効
gestures([delay1, duration1, [x1, y1], [x2, y2], …], [delay2, duration2, [x3, y3], [x4, y4], …], …)
複数のジェスチャーを同時にシミュレートします.各ジェスチャーのパラメータは[delay,duration,座標]であり、delayはどのくらい遅延(ミリ秒)してジェスチャーを実行するかである.durationはジェスチャーの実行時間である.座標はジェスチャーが通る点の座標です.delayパラメータは省略できますが、デフォルトは0です.
Android7.0以上有効
パラメータ注記:x:ターゲットポイントのx座標y:ターゲットポイントのy座標duration:持続時間、単位はミリ秒(1秒=1000ミリ秒)delay:遅延実行、単位はミリ秒id:マルチタッチid、デフォルトは1[パラメータ]:これらのパラメータがいくつかの場合省略可能であることを示す
setScreenMetrics(width, height)
width画面幅、単位画素height画面高さ、単位画素設定スクリプト座標クリックに適した画面幅高さ.スクリプトが実行されると、画面幅が一致しないと自動的に座標が縮小されます.
例えば1920*1080のデバイスにおいて、ある動作のコードは以下の通りである.
setScreenMetrics(1080, 1920);
click(800, 200);
longClick(300, 500);

では、他のデバイスでAutoJsは自動的に座標を縮小し、スクリプトが有効になります.例えば540*960の画面ではclick(800,200)が実際に位置(400,100)をクリックします.
注意:以下のコマンドはAndroid 7のみです.0以上が有効
click(x, y)
xクリックする座標のx値yクリックする座標のy値はクリック座標(x,y)をシミュレートし、クリックに成功したかどうかを返します.スクリプトは、実行完了をクリックした後にのみ実行されます.一般に、クリックプロセス(約150ミリ秒)で他のイベントによって中断された(例えば、ユーザが自分でクリックした)場合にのみ、クリックに失敗する.この関数を用いて連続クリックをシミュレートするとクリック速度が遅すぎるという問題があり,press()関数で代用できる.
longClick(x, y)
x押す座標のx値y押す座標のy値は、押す座標(x,y)をシミュレートし、成功するかどうかを返します.スクリプトは、長押し実行(約600ミリ秒)が完了した場合にのみ実行されます.一般に、長押し中に他のイベントによって中断された(例えば、ユーザが自分でクリックした)場合にのみ、押し失敗が発生する.
press(x, y, duration)
xを押す座標のx値yを押す座標のy値durationを長く押すと、ミリ秒単位で座標(x,y)を押して、成功したかどうかをシミュレートします.スクリプトは、押したまま実行が完了した場合にのみ実行されます.押し続ける時間が短すぎると、クリックとみなされます.500ミリ秒を超える場合は、長押しとみなされます.一般的には、押し続けている間に他のイベントによって中断された場合にのみ、操作に失敗します.
1つのコネクタの例は次のとおりです.
//  100 
for(var i = 0; i < 100; i++){
  //    (500, 1000)     100  
  press(500, 1000, 100);
}

swipe(x1, y1, x2, y2, duration)
x 1スライドの開始座標のx値y 1スライドの開始座標のy値x 2スライドの終了座標のx値y 2スライドの終了座標のy値durationスライド時間が長く、単位ミリ秒シミュレーションで座標(x 1,y 1)から座標(x 2,y 2)にスライドし、成功したかどうかを返します.スクリプトは、スライド操作の実行が完了した場合にのみ実行されます.一般的には、スライド中に他のイベントによって中断された場合にのみスライドに失敗します.
gesture(duration, [x1, y1], [x2, y2], …)
durationジェスチャーの時間[x,y]...ジェスチャースライド経路の一連の座標シミュレーションジェスチャー操作.例えば、gesture(1000,[0,0],[500,500],[500,1000])は、(0,0)~(500,500)~(500,100)までのジェスチャー動作をシミュレートし、2秒の時間である.
gestures([delay1, duration1, [x1, y1], [x2, y2], …], [delay2, duration2, [x3, y3], [x4, y4], …], …)
複数のジェスチャーを同時にシミュレートします.各ジェスチャーのパラメータは[delay,duration,座標]であり、delayはどのくらい遅延(ミリ秒)してジェスチャーを実行するかである.durationはジェスチャーの実行時間である.座標はジェスチャーが通る点の座標です.delayパラメータは省略できますが、デフォルトは0です.
gestures( [ 0, 500, [800, 300] , [500, 1000] ], [ 0, 500, [300, 1500] , [500, 1000] ] );

注:次のコマンドにはroot権限が必要です.
RootAutomator.tap(x, y[, id])
x横座標y縦座標idマルチタッチid、オプション、デフォルトは1、setDefaultIdで指定できます.位置(x,y)をクリックします.ここでidは、マルチタッチを区別するための整数値であり、異なるidは、例えば、異なる「指」を表す.
var ra = new RootAutomator();
// "  1"    (100, 100)
ra.tap(100, 100, 1);
// "  2"    (200, 200);
ra.tap(200, 200, 2);
ra.exit();

マルチタッチを必要としない場合はidというパラメータは必要ありません.マルチタッチは、通常、ジェスチャーまたはゲーム操作に用いられ、例えば、2本の指のつまみ、2本の指のスライドなどをシミュレートする.場合によってはtapクリックが反応しない場合がありますが、この場合は**RootAutomatorを使用できます.press()**関数の代わりに.
RootAutomator.swipe(x1, x2, y1, y2[, duration, id])
x 1スライド始点横座標y 1スライド始点縦座標x 2スライド終点横座標y 2スライド終点縦座標durationスライド時間長、単位ミリ秒、デフォルト値300 idマルチタッチid、オプション、デフォルト1(x 1,y 1)から(x 2,y 2)までの時間をdurationミリ秒とするスライドをシミュレートします.
RootAutomator.press(x, y, duration[, id])
x横座標y縦座標duration押下時長id多点タッチid、オプション、デフォルトは1アナログ押下位置(x,y)、長さdurationミリ秒.
RootAutomator.longPress(x, y[, id])
x横座標y縦座標duration押下時長id多点タッチid、オプション、デフォルトは1アナログ長押し位置(x,y).以上は,タッチ操作を簡単にシミュレートする関数である.複雑なジェスチャーをシミュレートするには、より下位の関数が必要です.
RootAutomator.touchDown(x, y[, id])
x横座標y縦座標idマルチタッチid、オプション、デフォルトは1アナログ指押下位置(x,y).
RootAutomator.touchMove(x, y[, id])
x横座標y縦座標idマルチタッチid、オプション、デフォルトは1シミュレーション指を位置(x,y)に移動します.
RootAutomator.touchUp([id])
idマルチタッチid、オプション、デフォルトは1アナログ指弾きです.