2017-02-28 7 views
0

iOS、UITestで作業中に、特定のXCUIElementがすでにタップされているかどうかを検出するにはどうすればよいですか?例えばiOS UITests - 現在実行中にXCUIElementがタップされているかどうかを検出します

let app = XCUIApplication() 
let button1 = app.tabBars.buttons["Home"] 
button1.tap() 
let button2 = app.tabBars.buttons["Home"].tap() 
button2.tap() // Here, I want to detect button2 as already tapped 

答えて

1

XCUIElement.isEnabledXCUIElement.isSelectedXCUIElement.valueはあなたの要素についての状態情報を与えることができます。

ボタンのオン/オフを切り替えるには、UIControlのUIControl(UIButtonを継承します)の有効または選択状態を使用してこれらのプロパティを設定し、XCUIElement経由でテストからアクセスします。

タップした回数をボタンにカウントさせる場合は、タップするたびにアプリの値を増やし、テストのvalueプロパティにアクセスします。

1

にはがあり、UIテストの対象ではなく、アプリケーションのコードでこれを行います。

これを達成する方法はたくさんありますが、1回タップした後にボタンを無効にする方法もあります。テストのために永久的にこの機能を使用したい場合は、このアプリケーションロジックを#if DEBUG節にラップすることをお勧めします。さらに、起動テストでこのロジックをオン/オフすることをお勧めします。起動引数はです。をUIテストから設定します。

関連する問題