我正在编写一个测试,需要直接从启动器启动应用程序。因为我无法通过意图启动来正确模拟它。
问题是,当我在新的模拟器上运行测试时(我使用的是 Travis CI,但它可以在我的家用 PC 上轻松重现),模拟器会以“首次运行”问候语覆盖层开始。这会阻止我的 uiautomator 代码正确启动应用程序。
我尝试添加一些代码来关闭该迎宾器,但不幸的是,当我的“迎宾器检测和关闭”代码已经停止工作并认为海岸畅通时,它可能会出现一些延迟。
有什么保证的方法可以禁用该问候语吗?某些偏好可能或只是可靠地杀死迎宾者的代码示例。
你有没有尝试过使用PackageManager.getLaunchIntentForPackage(..)?这将允许您发送启动器用于启动应用程序的相同 Intent。它应该相当于单击应用程序的启动器图标。
如果您确实需要通过启动器,您可以使用用户界面观察者关闭首次运行覆盖。每当 UiAutomator 找不到元素时,它就会调用检查条件(..)方法为每个注册的 UiWatcher 提供一个机会,让您有机会消除任何妨碍的覆盖或对话框。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)