2015-12-15 80 views
2

我正在開發Xcode UI測試的應用程序在視圖中有多個後退按鈕。一個是可以點擊的,另一個不是。我嘗試在do/catch中包裝,但如果任何一行失敗,測試將失敗。如何檢查元素是否可點擊

app.navigationBars.buttons [ 「後退」]有多個匹配,既:

app.navigationBars.childrenMatchingType(.Button).elementBoundByIndex(0) 

app.navigationBars.childrenMatchingType(.Button).elementBoundByIndex(1) 

是否可以試一試,如果沒有做其他的嗎?或者檢查元素是否可以點擊?

根據設備的大小(6+和iPad與較小的設備),後退按鈕元素會發生變化。

回答

2

大廈@ dasdom的答案,你可以做以下的斯威夫特:

let buttonQuery = app.navigationBars.element.childrenMatchingType(.Button) 
var button = buttonQuery.elementBoundByIndex(0) 
if (button.hittable == false) { 
    button = buttonQuery.elementBoundByIndex(1) 
} 
button.tap() 

注達button是不可選的,所以沒有?是必需的。此外,枚舉不會直接轉換,因此應使用.Button

+3

我將刪除我的答案,因爲你的答案是我的正確版本。 :) – dasdom

+0

沒有意識到這是簡單而有組織的。謝謝! –

+0

是否可以添加元素的標籤?我需要導航bfs/dfs風格的所有屏幕。那麼我們如何保持跟蹤哪個元素已被挖掘? –