我有带有登录屏幕和登录后出现的屏幕(授权部分)的应用程序。
从授权部分测试这些屏幕的最佳方法是什么?
我有几个想法:
1) 我需要在每次测试之前以某种方式从钥匙串(keychain)中删除所有数据,然后我每次都要经历整个流程才能在登录后进入第一个屏幕。当我需要向后端发送登录请求时,我使用
等待主屏幕let nextGame = self.app.staticTexts["Main Screen Text"]
let exists = NSPredicate(format: "exists == true")
expectation(for: exists, evaluatedWithObject: nextGame, handler: nil)
waitForExpectations(timeout: 5, handler: nil)
2) 我在这里传递一些参数
app = XCUIApplication(bundle:….)
app.launchArguments = [“notEmptyArguments”:”value”]
app.launch()
所以我可以传递一个假的 token
并且后端将接受这个 token
,这样我的应用程序就会知道它必须将我路由到主屏幕和所有请求会成功,因为我的网络服务有这个假的 token
但我认为这是一种不变的安全方式。
您有什么想法是最好的方法吗?也许您可以提供更好方法的建议?
最佳答案
您提到的第二个想法是在测试中跳过登录屏幕的好方法。此外,实现 token 传递也将有助于开发团队。这些启动参数可以存储在运行方案设置中。
此外,如果您以相同的方式实现深度链接,它将为 QA 和开发团队带来更多的速度提升。
当然,这些“快捷方式”只能在运行debug
配置时访问(使用#if DEBUG...
)
关于ios - 如何获得 Xcode UI 测试中的授权部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58480921/