4

私はUIテストの作成が初めてです。

どの要素が表示されているか、または存在するかを知ることができるかどうかを知りたかったのです。その数と呼び方を知りたいです。

すべての要素をループするためにこのようなことを試みましたが、うまくいきません。

for element in app.accessibilityElements! {
        print(element)
    }
4

2 に答える 2

6

テストケースに常にブレーク ポイントを設定し、コンソールに対していくつかの印刷呼び出しを行うことができます。

po app.accessibilityElements po app.accessibilityElements.elementBoundByIndex(0) po app.buttons["Icon Menu Light"] etc.

そして、参照するために出力ビュー階層に戻ってくるものを確認するか、単純に を呼び出すだけで階層が出力されpo appます。

特定のビューが存在することがわかったら.. app.buttons["Icon Menu Light"].exists.. 次のようなものを使用して、ボタン/要素が現在のビュー内に表示されていることを確認するには、次のようなヘルパー関数に渡します。

func isElementInView(element: XCUIElement) -> Bool {
   let window = XCUIApplication().windows.elementBoundByIndex(0)
   return CGRectContainsRect(window.frame, element.frame) }

これにより、要素が画面上に表示されているかどうかがelement.existわかります。これは、要素が画面外にあり、ユーザーに表示されていない場合でも (つまり、何かが画面外に隠れてからフレームに移行した場合)、呼び出しが true を返すためです。

于 2016-05-12T21:59:22.537 に答える