🤖
[iOS]UITestで写真アルバムのパーミッションを許可する
UITestを使用して、iOSアプリのテストを自動化する際、アプリが写真アルバムへのアクセスを要求する場合にはアクセスの許可をシミュレートする必要があります。
しかし、テストを実行しているアプリからはシステムのパーミッションアラートを触ることができません。
そこで直接Springboardを操作することで、Springboardから表示されるアラートを通じて写真アルバムへのアクセスを許可してみます。
以下サンプルコード
import XCTest
class PhotoAlbumPermissionTest: XCTestCase {
func testGrantPhotoAlbumPermission() {
let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
// Allow Full Access ボタンが表示されるまで待つ
let allowButton = springboard.buttons["Allow Full Access"]
_ = allowButton.waitForExistence(timeout: 3)
// Allow Full Access ボタンをタップ
allowButton.tap()
}
}
2回目以降のテストでは、allowButtonは表示されないので注意
Discussion