通过测试应用程序进入电话簿或 gmail 或播放 YouTube 后,我失去了测试或查询的所有控件。一旦它开始发挥作用,我就会失去控制。然后我必须手动处理它。在 Repl 模式下写树时,我什么也看不到。
问问题
37 次
1 回答
0
这是因为您要离开应用程序。Xamarin UITest 通过在移动应用程序旁边或内部运行客户端服务器来工作。客户端服务器使我们能够与控件交互并查询屏幕上的内容。
如果您在 iOS 上,则必须在应用程序中安装 Calabash 代理才能正常工作。一旦您离开应用程序(切换到 YouTube 或其他应用程序),客户端服务器将在后台运行,并且由于 iOS 操作系统的设计方式而无法执行任何操作。
在 Android 上,这取决于您使用的 Android 版本。较旧的 Android 版本不会对应用程序进行沙盒处理。Android 6.0 及更高版本有更多的安全控制,我不希望这种行为起作用。
如果您尝试测试这些东西是否有效,您应该测试您发送的 Intent 是否正确。此时您实际上是在测试操作系统,因为您正在验证 YouTube 或其他任何东西是否符合您的预期。实际上,我们应该有一个基本假设,即当我们以适当的意图提供电话簿时,操作系统应该相应地运行。如果您测试视频是否真的在 YouTube 应用程序中打开,您现在正在测试 YouTube 是否可以成功打开他们的链接/意图。有些人决定测试这些东西,许多人发现它是多余的,并增加了他们的团队周期时间。
我希望这有帮助!
披露:我在 Xamarin/Microsoft 工作
于 2016-11-11T00:04:31.433 回答