2017-11-27 6 views
0

私はXCTestフレームワークを学んでいます。私は、テキストフィールドが数値を受け入れるかどうかをテストしたいと思います。しかし、XCTestはテキストフィールドを見つけることができません。XCTestがテキストフィールドを見つけることができません

XCUIApplication().textFields["name"].typeText("123") 
XCTAssertEqual(XCUIApplication().textFields["name"].title, "") 

nameは、textfieldのpalceholderです。このデモアプリケーションには1つのテキストフィールドしかありません。しかし、テストは常にテストコードの1行目で失敗し、エラーは表示されません。

注:テキストフィールド が数値を受け入れないようにするための適切なコードを作成しました。

+0

これは、UIテストではなく単体テストで行うことができます。https://stackoverflow.com/a/47419707/246895 –

答えて

1

要素を調べる場合は、最初に識別子でアクセスできるかどうかを確認します。クラッシュは、システムが「名前」というテキストフィールドを見つけることができないために発生します。

このテキストフィールドに識別子を設定する必要があります。

yourTextField.accessibilityIdentifier = "myTextField" 

さて、あなたは、要素にラベル/値/識別子をチェックするための文字列 "がmyTextField"

XCUIApplication().textFields["myTextField"] 

使用音声/アクセシビリティを超える検査官によってTextFieldを得ることができます。

関連する問題