如何解决Detox 的 `device.openURL` 不适用于 Android
我刚刚开始为我的项目使用 Detox,到目前为止,对于 iOS 端到端测试来说,这是一次令人难以置信的体验。 Huuuuuge 感谢 Wix 的创造者和维护者!
不过到目前为止,Android 体验要困难得多。我很快就陷入了死胡同,因为 device.openURL
似乎不起作用。我的 React Native 应用程序支持自定义 URL 方案和通用链接。我可以确认他们在手动测试中工作,包括开发和生产。它们在使用 npx uri-scheme open --android
时也有效。
根据 Detox 建议,我使用的是 Pixel API 28 ASOP 模拟器。我也试过 Pixel 3 API 28 模拟器。我可以确认 openURL
在 iOS 模拟器中确实有效。
预期:其中任何一个都会打开应用并导航到登录屏幕。
await device.openURL({url: 'heylo-alpha://login'})
await device.openURL({url: 'https://heylo-alpha.web.app/login'})
实际:应用未打开。
我可以确认 device.launchApp
确实适用于 url
参数,但 newInstance
必须设置为 true
。考虑到每次从头开始杀死和重新启动应用程序所涉及的巨大开销,这对于每个测试来说都不太实用。我可以确认该应用程序已安装到 Android 模拟器,并且它支持这些链接,如以下命令所证明的那样:
$ npx uri-scheme open "heylo-alpha://login" --android
$ npx uri-scheme open "https://heylo-alpha.web.app/login" --android
以上都打开应用程序到登录屏幕。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。