滑动方法在android自动化测试中不起作用

Sah*_*tel 5 testing automation android selenium-webdriver appium

我正在尝试实现滑动方法.我知道实现目标的正确方法是什么?

public void swipeWithCordinateLocation(WebDriver driver,double startX,
                                       double  startY,double endX,double endY,
                                       double Duration)
{
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, Double> swipeObject = new HashMap<String, Double>();
swipeObject.put("x", startX);
swipeObject.put("y", startY);
swipeObject.put("x", endX);
swipeObject.put("y",endY );
swipeObject.put("duration", Duration);
// HashMap[] param = {swipeObject};
js.executeScript("mobile: swipe", swipeObject);

}

common.swipeWithCordinateLocation(driver, 100.00, 500.00, 500.00, 500.00, 1.00);
Run Code Online (Sandbox Code Playgroud)

但appium执行刷卡但它需要不同的凭据

[x=360][y=592]
 to [x=360][y=592]
Run Code Online (Sandbox Code Playgroud)

.该怎么办?任何人都可以帮助我.

use*_*762 1

自动化分析滑动的最佳方法是在开发人员选项中启用“显示触摸”和“指针位置”选项。

滑动参数的正确代码是这样的 -

swipeObject.put("startX", 198.00);
swipeObject.put("startY", 685.00);
swipeObject.put("endX", 198.00);
swipeObject.put("endY", 550.00);
swipeObject.put("duration", 1.0);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。

或者甚至更好的方法是使用诸如分数之类的东西 -

swipeObject.put("startX", 0.50);
swipeObject.put("startY", 0.50);
swipeObject.put("endX", 0.50);
swipeObject.put("endY", 0.35);
swipeObject.put("duration", 1.0);
Run Code Online (Sandbox Code Playgroud)