参考サイトはじめにこんにちは、suzukiです。最近XCUITestを利用して既存のテスト内容の自動化したいと要望をいただきました。XCUITestはあまり触れたことがないため調査の備忘もかねて、こちらで投稿させていただきます。今回はテスト項目の最初にチュートリアルについてスワイプの動作のテストがあったため、そちらを自動化するつもりです。XCUITestとはXCodeが提供している、純正のUITestです。Testにチェックを入れましょう。4|-ラベル|-ボタン(最後のViewだけ)UISCrollView最初はScrollViewからテストの要素を取得予定でした。Xcode-Version9.2ではAccessibilityの項目がないためScrollViewはStoryBoardでオートレイアウトの設定だけしています。・UIScrollView親のViewに対して上下左右0スペース親のViewに対して縦・横の長さが等しい・BaseViewSCrollViewの要素に対して上下左右0スペース・子のViewBaseViewに対して上下を0スペースUIScrollViewに対して縦・横の長さが等しい隣の要素orBaseViewに対して左右0スペース今回チュートリアルの設定を行うためPagingを忘れず設定してください。Identifierを設定する必要があります。・Accessibilityの項目のIdentifierに目的の名前を設定ラベルラベルでは下記のような形ですこちらに設定した内容をもとにXCUITestから参照を行います。テストコードいよいよテスト用のコードを記述して行きます。セットアップのコードです。SetUpcontinueAfterFailureテストで想定しないことが起きたときにテストを中断するか、続けて行うか設定できます。XCUIApplication().launch()テストを行うためにアプリケーションを起動します。Identifierから取得します。XCUIApplication().buttons["CloseButton"]画面上に表示されているかの確認ラベルやボタンなど現在の画面に表示されているかを確認します。isHittableを利用し確認可能です。今回のスクロールViewでは1ページ目に表示されているオブジェクトはtrueを返しその他のオブジェクトはFalseを返却します。XCUIApplication().staticTexts["TutorialText0"]//画面上に配置され表示されているかの確認XCTAssertTrue(label.isHittable)}スクロールを行うユーザーがスクロールを行った時の動作を設定します。・左にスワイプswipeLeft()・右にスワイプswipeRight()上記を対象のオブジェクトを指定して呼び出します。XCUIApplication().staticTexts["TutorialText0"]//画面上に配置され表示されているかの確認XCTAssertTrue(label.isHittable)//左にスワイプXCUIApplication().swipeLeft()}全体のテスト上記をもとにそのまま作成してもいいのですが、コード量が増えてしまうので下記のようにしました。テストコードがわかりずらいとメンテナンス性も下がります。日本語で変数やテストの内容も記述可能なのでテストしている内容がわかりやすい名前をつけたいですね。testIndex{//テストしたい対象が表示されているかXCTAssertTrue(label.isHittable)}else{//テストしたい項目以外は非表示にされているかXCTAssertFalse(label.isHittable)}}}最後に最後までありがとうございます。ScrollViewのインスタンスが取得できなかったりと少し手間取りました。XCUITestで確認できること、できないことがあるかと思います。XCUITestで要件を満たせるものに関しては、積極的に利用していきたいですね。機会があれば通信周りの確認方法などもふれてみます。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト上に表示された文字を入力してください。こんにちは、nukkkyです。こんにちはsuzukiです。本日で投稿が2回目となります。今後ともよろしくお願い致します。私たちは無料アプリもリリースしています、ぜひご覧ください。下記のアイコンから無料でダウンロードできます。