2016-05-06 36 views
2

我試圖在使用Xcode和UI測試的同時點擊x,y位置。這是我的代碼:Xcode用戶界面測試 - 點擊x的位置

XCUIApplication().coordinateWithNormalizedOffset(CGVector(dx: 50, dy: 50)).tap() 

按鈕的中間肯定是在那個位置,並且不能被識別爲單個對象(因此使用X,Y座標)。

但是,這不是按下按鈕。任何人都知道是否有正確的方法來挖掘x座標?

回答

4

dxdy不是像素偏移量,而是歸一化向量。例如,0.5實際上是元素的中間。您的代碼嘗試在屏幕邊界之外點擊某個元素(大約減少50倍!)。

我建議試着用不同的方法解決問題。首先,爲什麼不能識別按鈕?你有什麼嘗試?您是否使用自定義的UIButton子類?

我問,因爲你可以(通常)暴露任何控制或UI元素的UI測試與正確的可訪問性屬性。例如,您可以將accessibilityLabelaccessibilityIdentifier設置爲該按鈕的文本。然後你可以使用該值訪問被測按鈕。

// Production Code 
let button = UIButton() 
button.setTitle("Save", forState: .Normal) 
button.accessibilityIdentifier = "Save" 

// UI Test Code 
``` 
let app = XCUIApplication() 
app.buttons["Save"].tap() 
+0

喬 - 謝謝你的提升50倍!哎呀。我們已經嘗試了可訪問性標籤,ID和提示,但是由於某些未知原因,此頁面已被證明是可怕的。 Devs仍然在調試爲什麼,但我說我會在此期間嘗試一種x,y方法。將嘗試一些0.x值 - 謝謝! –