使用 UiDevice 滑动的 x,y 边界是多少

Posted

技术标签:

【中文标题】使用 UiDevice 滑动的 x,y 边界是多少【英文标题】:What are the x,y bounds for swipe using UiDevice 【发布时间】:2020-09-21 12:35:15 【问题描述】:

所以UiDevice.swipe 的文档如下:

swipe(int startX, int startY, int endX, int endY, int steps)

执行从一个坐标滑动到另一个使用的数量 确定平滑度和速度的步骤。

我如何知道 X 和 Y 的最大值是多少?目前我只知道 0,0 是屏幕的左上角。有没有办法以编程方式获取屏幕的 X、Y 边界?

【问题讨论】:

【参考方案1】:

最大值是您的显示大小(以像素为单位)。例如,如果您的 Galaxy A10 屏幕为 720*1520:minX = 0,max X = 720,min Y = 0,,max Y = 1520。 获取屏幕边界:

如果是 WebApplication(PWA) 或网站(Selenium 或 Appium chrome/驱动程序):

driver.get_window_size()

如果 appium 移动版:

driver.manage().window().getSize()

如果是 web 视图(带有 webview 的本机应用程序):

driver.switch_to.context('WEBVIEW_chrome')  # Replace chrome with gecko/safari if needed
driver.get_window_size()

【讨论】:

【参考方案2】:

这是我在 Espresso 中的做法:

  val uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
  val maxY = uiDevice.displayHeight;
  val maxX = uiDevice.displayWidth;

【讨论】:

以上是关于使用 UiDevice 滑动的 x,y 边界是多少的主要内容,如果未能解决你的问题,请参考以下文章

uiautomator学习-swipe

从 SKlearn 决策树中检索决策边界线(x,y 坐标格式)

ARITEST自动化笔记四:图像识别API-SWIPE滑动的使用

查找具有最大表面积的边界框轮廓,不包括相交区域

POJ1066 Treasure Hunt

导数边界