element(boundBy: 0)
をfirstMatch
に置き換える代わりに、それらをチェーンする必要があります。
XCUIApplication().cells.element(boundBy:0).firstMatch
これにより、画面上に複数のセルがある場合、クエリがより迅速に解決されます。 firstMatch
を指定しないと、テストでは最初にすべてのセルのリストが取得され、最初のセルが使用されます。 firstMatch
を指定すると、テストではセルが検索され、最初に見つかったセルが使用されます。
単一の要素がクエリと一致することを完全に知っている場合のみ、firstMatchを使用します。
あなたはまだあなたがもっともらしくfirstMatch
を使用する場合、そのクエリに一致することができる唯一の要素があることを確認するために、クエリに一致する1つの以上の要素がある可能性がelement(boundBy:)
のどこを行う必要があります。 3つのセルがあり、最初のセルを使用する場合は、element(boundBy: 0)
を使用する必要があります。 にが表示されている場合は、画面上に1セルしか表示されない場合は、element(boundBy: 0)
をスキップしてelement
の代わりにfirstMatch
を使用してクエリを高速に解決しても問題ありません。
// fine if there is only one cell
XCUIApplication().cells.element // also checks for multiple matches
// also fine if there is only one cell
XCUIApplication().cells.firstMatch // does not check for multiple matches
Hmm良い質問。私の頭の上から、私はなぜそうではないのか分からない。 –
私はそれを交換し、これまでのところよく見ています。 – Alper