为什么Appium方法driver.manage()。window()。getSize()返回的大小与屏幕像素不同?

问题描述 投票:0回答:1

iPhone X和XS的真实屏幕分辨率是1125x2436

但是,当我执行driver.manage().window().getSize()时,我得到了响应375x812。这正是真正的屏幕尺寸的1/3

而且这里变得更加复杂。通过TouchAction点击X,Y坐标对我在iOS 11.2上的iPhone X和iOS 12.1上的iPhone XS上的测试有不同的作用

在某些情况下,第一个需要以像素为单位的实际屏幕尺寸的坐标。在其他人中,他们需要我将实际坐标除以3,以便在我想要的地方获得水龙头。我通过反复试验发现了这一点。

但是在iPhone XS上,你总是需要发送坐标除以3。

无论如何,我可以让我的测试工作,但现在我想知道为什么会这样?

appium
1个回答
1
投票

Appium返回视口大小。对于iPhone X,它是375 x 812

Appium正在使用appium-xcuitest-driver进行iOS自动化,如果你查看它的代码,你会发现the exact values

const IPHONE_X_WIDTH = 375;
const IPHONE_X_HEIGHT = 812;

这些更改是在this PR中引入的,它为iPhone X添加了Appium支持。基本上,Appium使用视口值来验证设备是X还是其他模型。

screenshot终点状态的文档:

Takes a screenshot of the viewport in a native context (iOS, Android)

由于截图是使用/window/size调用,因此可以清楚地看到Appium返回视口,它不是一个bug。

© www.soinside.com 2019 - 2024. All rights reserved.