Xcode UITest遇到的坑

2019.3.10

最近在更新Snapshot时发现又出现了 fastlane snapshot exit status: 65 TEST FAILURE的错误. 后来发现是因为有一些代码在非Main Thread更新UI导致的, 期间跑XCTESTUI一直没有报错,但一执行fastlane snapshot就出错. 最后发现是FaceWare线程的问题.

//focusOnFaces要先于cell.frameImageView.image执行
cell.frameImageView.focusOnFaces = true
cell.frameImageView.image = photoFrames[indexPath.row].defaultCover

Xcode UI test - UI Testing Failure - Failed to scroll to visible
fastlane snapshot exit status: 65

当时用fastlane snapshot进行截图时, 总是出现以上两个错误。花了两天的时间终于找到原因了.

这个是错误的写法:

override func setUp() {
        continueAfterFailure = false
        setupSnapshot(app)
        app.launch()
        testExample() //这一行会导致重复执行。UITest会自动执行所有的TestXXXXX方法
    }
 func testExample() { }

这个是正确的写法:

override func setUp() {
        continueAfterFailure = false
        setupSnapshot(app)
        app.launch()
    }
 func testExample() { }

你可能感兴趣的:(Xcode UITest遇到的坑)