语境
许多原生应用程序让用户使用 Facebook 进行身份验证,而不是使用他们自己的身份验证系统。这对我使用 Javascript 绑定编写 iOS UIAutomation 测试用例来说是个问题。从用户的角度来看,我们的场景通常看起来像这样。
设想
- 用户点击“连接到 Facebook”。
- (目标)应用程序移至后台,而 Safari 浏览器移至前台,因此用户可以使用 oAuth 进行身份验证。
- 用户输入他们的认证数据并提交。
- Safari 浏览器窗口移入后台,目标应用程序移回前台。
问题
在运行测试之前,Instruments让用户在顶部菜单栏中设置“目标应用程序”。当目标应用程序移动到后台而 Safari 应用程序移动到前台时(步骤 #2),使用Instruments中的自动化证明是有问题的。此时,仪器报告
目标应用程序似乎已经死亡
我认为这就像轮询/测试(或类似的)变化一样简单UIATarget.localTarget().frontMostApp()
,但似乎并非如此——测试运行停止执行。
如何使用 Instruments 成功测试此场景? 这是 UIAutomation 的 Javascript 绑定的可测试场景吗?