對于 Android 世界,我們可以通過以下方式點擊任何位置:
val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
device.click(x, y)
而x與y以上可能來自Pixelmator像得到:

例如,key的坐標a應該是x=100和y=1800(來自Pixelmator的Ruler)。
根據tapCoordinate,我們可能會在 iOS 中做類似的事情:
func tapCoordinate(at xCoordinate: Double, and yCoordinate: Double) {
let normalized = app.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0))
let coordinate = normalized.withOffset(CGVector(dx: xCoordinate, dy: yCoordinate))
coordinate.tap()
}
但它沒有按預期作業,我想知道我們是否可以通過全域螢屏的x和點按一些點y?
uj5u.com熱心網友回復:
你的問題沒有多大意義。該函式debugDescription()從各種資料型別生成一個字串,適合記錄到控制臺。iOS 不會“從 debugDescription 計算坐標”。
你沒有告訴我們你在記錄什么。您應該編輯您的問題以告訴我們您正在記錄的是什么,顯示捕獲值的代碼,并顯示記錄它的列印陳述句。
根據輸出的格式,您似乎正在記錄一個矩形(CGRect資料型別)。
ACGRect的形式為 (origin, size),其中origin是 aCGPoint和 size 是 a CGSize。
聽起來像是tapCoordinate給了你矩形的中心,這將是:
x = rect.origin.x size.width/2
y = rect.origin.y size.width/2
那給
x = 23 41/2 = 43.5
y = 573 49/2 = 597.5
假設您的 x 值是一個錯字,應該是 33,這與您在問題中給出的值非常接近。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/371255.html
