У меня возникла ошибка при попытке использовать свайп, но кажется, что она устарела.Рекомендуется использовать TouchAction()
, но я не уверен, как преобразовать свайп в TouchAction()
.
Ниже приведен код:
public void obj_scrollToObjectByCoOrds(int coOrds) throws IOException {
try {
List<WebElement> elements = driver.findElements(By.className("android.widget.FrameLayout"));
Point point = elements.get(1).getLocation();
Dimension size = elements.get(1).getSize();
int elementCenterX = point.getX() + Math.round(size.getWidth() / 2);
int elementCenterY = point.getY() + Math.round(size.getHeight() / 2);
String originalContext = driver.getContext();
driver.context("NATIVE_APP");
driver.swipe(elementCenterX, elementCenterY, elementCenterX, elementCenterY + coOrds, 1500);
driver.context(originalContext);
} catch (Exception e) {
e.printStackTrace();
}
}
Ниже приведен пример TouchAction, который мне пришлось реализовать, поэтому я оставил его в качестве примера на данный момент.Я хочу посмотреть, как происходит преобразование, поэтому я понимаю, сравнивая приведенный ниже код с ответом:
Dimension screenSize = driver.manage().window().getSize();
new TouchAction(driver)
.press((int) (screenSize.width * 0.6), 130)
.waitAction(500)
.press((int) (screenSize.width * 0.3), 130)
.release()
.perform();