3

Fastlane は、すべての画面サイズとローカリゼーションのスクリーンショットを撮ってくれると主張しています。

ガイドに従って、次のような UI テスト ケースを作成しました。

override func setUp() {
    super.setUp()
    continueAfterFailure = false
    setupSnapshot(XCUIApplication())
    XCUIApplication().launch()
}

override func tearDown() {
    super.tearDown()
}

func testExample() {
    let app = XCUIApplication()
    app.collectionViews.staticTexts["13"].swipeRight()
    snapshot("calendar")
    let staticText = app.collectionViews.staticTexts["26"]
    staticText.tap()
    snapshot("preview")
    app.buttons["Editor"].tap()
    snapshot("editor")
    app.navigationBars["2016/6/26"].buttons["Cancel"].tap()
    app.navigationBars["My Diaries"].buttons["search filled"].tap()

    let tablesQuery = app.tables
    tablesQuery.textFields["Search"].tap()
    tablesQuery.textFields["Search"].typeText("beach")
    snapshot("search")

    app.navigationBars["Search"].buttons["search colored"].tap()
    app.navigationBars["Results - 1 / 2"].buttons["right"].tap()

    snapshot("result")
}

英語シミュレーターでテストを実行すると、成功します。中国語シミュレーターでテストを実行すると (アプリを中国語にローカライズしたため、中国語で実行したいのです)、アプリでこれらの英語の単語が見つからないため、テストが機能しません。

NSLocalizedStringしかし、ガイドから、またはそのようなものを使用して、これを処理すると想像できます。

そこでcd、プロジェクト ディレクトリに移動しsnapshot、ターゲットを選択すると、スクリーンショットの撮影が開始されます...

...英単語が見つからなかったので、「Editor」ボタンをタップする必要がある部分に到達するまで。そして墜落した。

では、アプリがどのローカリゼーションにあるかを確認するために if ステートメントを追加する必要がありますか? それは首の痛みでしょう!その場合は、自分でスクリーンショットを撮りたいと思います。

私はファストレーンを誤解しているに違いないと思います。スナップショットを使用してスクリーンショットを撮る正しい方法は何ですか?

4

1 に答える 1