ios - "Sign-in Required"点击购买按钮后不出现弹出窗口

标签 ios swift xcode-ui-testing xcuitest

使用 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/

相关文章:

swift - 显示没有按钮的 UIAlertController 时 UI 测试失败

ios - Xcode UI 测试 - 当测试套件中的任何给定测试失败时停止测试?

ios - 我可以实时更改 UITableViewCell 的高度吗?

ios - 如何在 Swift 4 中使用 Core Data 保存数据而不写入两次值?

ios - 根据内容自动增加 View 的高度

ios - 为什么会出现错误 'Domain=NSCocoaErrorDomain Code=3840 "No value ."UserInfo={NSDebugDescription=No value.}'?

objective-c - 不允许在 swift 类中使用 Objective C 头文件中定义的 Constant。体系结构 armv7 的 undefined symbol

ios - 重新加载 REFrostedViewController

ios - 当应用程序在后台且本地通知触发时执行代码

ios - Xcode:为什么我的启动参数在记录 UI 测试时不起作用?