Snapshotを使用してアプリケーションのスクリーンショットの作成を自動化しようとしていますが、UIImagePickerController
に設定されているallowsEditing
をナビゲートするまで、すべてうまくいきtrue
ます。
奇妙なことに、iPhone 4s、5s、および6sシミュレーターでは問題なく動作しますが、iPhone 6(s) Plusでは、テストで「選択」(オランダ語で「Kies」) ボタンをタップできないようです。クロッパービュー。
私の最初の試みは、どのバージョンでも機能しませんでした:
app.buttons.elementBoundByIndex(2).tap()
そして、次のエラーが発生しました:
file:///%3Cunknown%3E: テストに失敗しました: -[MyAppSnapshots testExample()] に失敗しました: UI テストに失敗しました - スクロールして表示に失敗しました (AX アクションによる) ボタン 0x7f82d450ae30: 特性: 8589934593, {{327.0, 613.5}, {35.0, 34.0}}、ラベル: 'Kies'、エラー: エラー -25204 AXAction 2003 の実行中
次に、この回答から、 iPhone 6(s) PlusforceTapElement
以外のすべてで機能する のソリューションを取得しました。
app.buttons.elementBoundByIndex(2).forceTapElement()
次に、座標をタップしてみました。
let window = app.windows.elementBoundByIndex(0)
let rightBottom = window.coordinateWithNormalizedOffset(CGVectorMake(
CGRectGetWidth(window.frame) - 20,
CGRectGetHeight(window.frame) - 20
))
rightBottom.tap()
しかし、それもどのデバイスでも機能しませんでした。
では、これらのネイティブ インターフェイスをテストするにはどうすればよいでしょうか。または、何らかのスイッチをコードに追加して、UIImagePickerController
インタラクティブでないものに置き換える必要があります。