使用 XCUitest
运行购买 UITests
时,有时在点击 IOS native 弹出窗口中的购买按钮后
Sign-in Required
长时间不显示(超过2分钟)。
测试在真实设备上运行(iPhone 6 ios 12)。
我尝试手动重现它,但没有成功。
每次我手动尝试它都工作正常,并且大多数时候它在自动测试中工作正常。
这是等待警报并使用“addUIInterruptionMonitor
”处理警报的代码
func PurchaseTest1(elementName: String) -> Bool {
if TestUtilities.wait(forMax: 120.0, condition: { return app.buttons[elementName].exists }, doPerIteration: { self.app.swipeDown() } ) == false {
return false
}
return true
}
它正在等待一个元素出现,每次迭代后,它都会向下滑动以调用“addUIInterruptionMonitor
”来检查是否有 iOS 弹出窗口需要处理。
大多数时候它可以工作并且会出现弹出窗口,但有时弹出窗口根本不会出现(我可以在每次测试的屏幕截图中看到)。
最佳答案
我也遇到了类似的问题。我看到网络错误,有时没有看到任何错误。我会执行以下步骤,希望能解决您的问题。
重置您的设备;当我调试问题时,我意识到存在一些与证书相关的问题导致了此问题。
我认为您正在购买苹果产品,Sandbox 允许一个用户使用一定的时间。你无法购买像一遍又一遍地运行这样的连续基础。可能需要 30 分钟才能使用相同用户再次开始购买
在订阅下,请确保您没有有效的订阅,它可能已被购买并且未显示该按钮
我认为如果你更换设备并使用新的苹果沙箱用户,测试就会通过。
关于ios - "Sign-in Required"点击购买按钮后不出现弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57572468/