Java iPhone屏幕/Android屏幕上的X轴和Y轴格式是什么?
我一直在研究iPhone屏幕上设置的X轴和Y轴,因为我试图使用Appium在应用程序上运行自动测试。我工作的一部分是刷卡,但我遇到了移动点、X点和Y点的问题 我不知道iPhone屏幕或Android屏幕上X轴和Y轴的界限是什么。因此,我不确定光标从何处滑动或滑动到何处 到目前为止,我已经能够通过下面的代码进行一次刷卡Java iPhone屏幕/Android屏幕上的X轴和Y轴格式是什么?,java,android,ios,appium,Java,Android,Ios,Appium,我一直在研究iPhone屏幕上设置的X轴和Y轴,因为我试图使用Appium在应用程序上运行自动测试。我工作的一部分是刷卡,但我遇到了移动点、X点和Y点的问题 我不知道iPhone屏幕或Android屏幕上X轴和Y轴的界限是什么。因此,我不确定光标从何处滑动或滑动到何处 到目前为止,我已经能够通过下面的代码进行一次刷卡 TouchAction action1 = new TouchAction((PerformsTouchActions) driver); action1.pres
TouchAction action1 = new TouchAction((PerformsTouchActions) driver);
action1.press(PointOption.point(250,200))
.waitAction(new WaitOptions().withDuration(Duration.ofMillis(250))) //you can change wait durations as per your requirement
.moveTo(PointOption.point(50, 250))
.release()
.perform();
Thread.sleep(5000);
这将成功向左滑动一次,但第二次滑动成功,但不会向左滑动屏幕。如中所示,滑动它,但它不会移动它超过所需的阈值以将其移动到下一页
让我们知道,上面的代码被放置在for循环中,如下所示
for(int i = 0; i <= 3; i++){
TouchAction action1 = new TouchAction((PerformsTouchActions) driver);
action1.press(PointOption.point(250,200))
.waitAction(new WaitOptions().withDuration(Duration.ofMillis(250))) //you can change wait durations as per your requirement
.moveTo(PointOption.point(50, 250))
.release()
.perform();
Thread.sleep(5000);
}
for(int i=0;i
十、 Y坐标取决于所使用的设备/仿真器
自动化如果设备有大的显示X,Y值将很高
我建议在坐标的帮助下,在滑动或滚动过程中不要使用X,Y的硬编码值,因为无论何时在小屏幕设备上移动,它都会抛出异常点
请看一看,当滚动到底部时,如何借助设备的高度和宽度获得动态X,Y值
public void scrollToBottom() {
// we are scrolling to bottom so X will be constant so we are taking mid point in width.
int x = driver.manage().window().getSize().width / 2;
// starting of Y is from 20% of height as we have one bar in all device for showing network and battery status
int start_y = (int) (driver.manage().window().getSize().height * 0.2);
// end of Y is 80% of height
int end_y = (int) (driver.manage().window().getSize().height * 0.8);
// here scrolling length is (80% -20%) 60%.
TouchAction dragNDrop = new TouchAction(driver)
.press(PointOption.point(x,start_y)).waitAction(WaitOptions.waitOptions(Duration.ofMillis(500)))
.moveTo(PointOption.point(x, end_y))
.release();
dragNDrop.perform();
}
如果您想获得任何移动元件的X,Y坐标
,您可以获得如下所述的坐标
MobileElement element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
Point location = element.getLocation();
或
int leftX = element.getLocation().getX();
int rightX = leftX + element.getSize().getWidth();
int middleX = (rightX + leftX) / 2;
int upperY = element.getLocation().getY();
int lowerY = upperY+element.getSize().getHeight();
int middleY = (upperY + lowerY) / 2;
x和y的限制取决于设备的类型。通常(至少在iOS中),我们将x和y值与视图的边界的宽度或高度进行比较…@Light up为一个好问题和最需要知道的问题投票