iPhone X和XS的实际屏幕分辨率为1125x2436
。
但是当我执行driver.manage().window().getSize()
时,我得到的响应是375x812
。恰好是实际屏幕尺寸的1/3
。
这里变得更加复杂。对于我在iOS 11.2上的iPhone X和iOS 12.1上的iPhone XS上进行的测试,通过TouchAction
敲击X,Y坐标的工作原理不同
在某些情况下,第一个需要以像素为单位的实际屏幕大小的坐标。在其他情况下,他们需要我将真实坐标除以3才能将水龙头放到我想要的位置。我是通过反复试验发现的。
但是在iPhone XS上,您始终需要发送坐标除以3。
无论如何,我都可以进行测试,但是现在我想知道为什么会这样吗?
答案 0 :(得分:0)
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中引入的,这些更改增加了Appium对iPhone X的支持。基本上,视口值被Appium用来验证设备是X还是其他型号。
screenshot个端点状态的文档:
Takes a screenshot of the viewport in a native context (iOS, Android)
由于屏幕截图正在使用/window/size
调用,因此可以清楚地看到Appium将返回视口,这不是错误。