我目前正在尝试自动化捕获应用程序屏幕截图的过程。我面临的问题是,Snapshot只会创建一些像这样的空白2x2px图像:
swift - FaSTLane快照–空白截图-LMLPHP

是的,我已经在setUp方法中配置了快照:

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


我的UITest方法:

    func testExample() {
    //Screenshot
    snapshot("01Screen")

    let tablesQuery = app.tables
    tablesQuery.cells.element(boundBy: 0).tap()
    //Screenshot
    snapshot("02Screen")

    tablesQuery.cells.element(boundBy: 1).tap()
    //Screenshot
    snapshot("03Screen")
    app.navigationBars.buttons.element(boundBy: 0).tap()
    app.navigationBars.buttons.element(boundBy: 0).tap()


    tablesQuery.cells.element(boundBy: 2).tap()
    tablesQuery.cells.element(boundBy: 0).tap()
    //Screenshot
    snapshot("04Screen")
    app.navigationBars.buttons.element(boundBy: 0).tap()
    app.navigationBars.buttons.element(boundBy: 0).tap()
    app.navigationBars.buttons.element(boundBy: 0).tap()
}


你们中有人遇到过同样的问题吗? UITest可以在模拟器和物理设备上成功完成。

最好的问候schuetzii

编辑:

我发现,这个问题可能与事实有关,因为我包括了一些豆荚。我不知道该如何解决。

我做了

fastlane init


并且

snapshot init


并将SnapshotHelper.swift复制到UITest-Class。我错过了什么吗?网页上的新屏幕截图,可自行生成快速通道:swift - FaSTLane快照–空白截图-LMLPHP

最佳答案

好吧,我自己解决了这个荒谬的问题。当前无法同时使用Cocoapods和Snapshot。如果同时使用两者,则会得到2x2px的图像。现在,我手动添加了SDK(Firebase和GoogleSignIn),一切运行顺利。没有有关如何将Podshot与Pod一起使用的提示,希望它可以一次使用。

09-25 19:16