web-dev-qa-db-ja.com

Appiumのtap(int x、int y)関数は廃止されたようです。代替品はありますか?

Androidゲームを自動化しようとしています。そのため、X、Y座標を使用してボタンをクリックします。ID、Xpathなどで要素を識別することはできないため、ゲーム。これを達成するためにTouchAction tap(int x、int y)メソッド(Appiumメソッド)を使用していますが、残念ながら、このメソッドtap(int x、int y)は廃止されているようです。これを置き換える他のオプションは次のようになります- -> touchAction.tap(PointOptions tapOptions)およびtouchAction.tap(TapOptions tapOptions)これはtouchAction.pressの場合も同様です。

特定のボタンをタッチする私のコードは次のようになります。

TouchAction touchAction = new TouchAction(driver);
touchAction.tap(1280, 1013).perform();

ここで、X、Y値は、Androidデバイス[開発者向けオプション>ポインターの位置を表示]のタッチポイントを使用して検出されます。

誰かが非推奨されていない方法を使用して同じことを達成するより良い方法を提案できますか?ありがとう!

5

ここでTouchActionのドキュメントを表示できます。

https://appium.github.io/Java-client/io/appium/Java_client/TouchAction.html

使用しているtap()を置き換えたメソッドは次のとおりです。

https://appium.github.io/Java-client/io/appium/Java_client/TouchAction.html#tap-io.appium.Java_client.touch.offset.PointOption-

そしてここに、PointOptionのドキュメントがあります。これは、tap()で使用する新しいパラメーターです。

https://appium.github.io/Java-client/io/appium/Java_client/touch/offset/PointOption.html

したがって、質問に答えるには、PointOptionで2つの選択肢があります。

  1. これらの座標値を持つPointOptionの静的インスタンスであるPointOption.point(x、y)の使用
TouchAction touchAction = new TouchAction(driver);
touchAction.tap(PointOption.point(1280, 1013)).perform()
  1. PointOption()。withCoordinates(x、y)を使用して、これらの座標値を設定した後、PointOptionインスタンスへの参照を返します
TouchAction touchAction = new TouchAction(driver);
touchAction.tap(new PointOption().withCoordinates(1280, 1013)).perform()
14
Taryn

更新後にさまざまなオプションが導入されるため、これはあなたのために機能します


new TouchAction(driver).tap(PointOption.point(x,y)).waitAction(waitOptions(Duration.ofMillis(duration))).moveTo(PointOption.point(x, y)).release().perform();

    }

0
Anuj Bansal

非推奨のタップ/プレス機能の代わりに、「longPress」機能があります。これが関数です:

public T longPress(LongPressOptions longPressOptions) {
    ActionParameter action = new ActionParameter("longPress", longPressOptions);
    parameterBuilder.add(action);
    //noinspection unchecked
    return (T) this;
}

詳細については、次を参照してください。 https://github.com/appium/Java-client/blob/master/src/main/Java/io/appium/Java_client/TouchAction.Java

0
Chuk Ultima