XCUIElementの取得が失敗したことをわかりやすくする
今日PageObjectPatternでUITestを書いていたんだけど、
下のような感じで要素の取得の部分はPageObject内に隠蔽して書かれていた。
var loginButton: XCUIElement { return view.buttons["LoginButton"] }
func tapLoginButton() -> LoginPage {
loginButton.tap()
return LoginPage(app: app)
}
この書き方だと、要素の取得に失敗したことが原因でUITestが失敗した場合に少しわかりにくい。
要素取れるかどうかのテストをわざわざ書きたく無いので、次のようなvalidateメソッドを作った。
import XCTest
extension XCUIElement {
func validate(file: StaticString = #file, line: UInt = #line) -> XCUIElement {
if !self.exists {
XCTFail(file: file, line: line)
}
return self
}
}
要素取得するたびに存在チェックするようにしておくと、もし取得できなかった場合どこで失敗したかすぐわかるのでチョット便利。
var loginButton: XCUIElement { return view.buttons["LoginButton"].validate() }
Author And Source
この問題について(XCUIElementの取得が失敗したことをわかりやすくする), 我々は、より多くの情報をここで見つけました https://qiita.com/shindyu/items/bcfbbf13d4081a8c85c4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .