detox - 在启动应用程序之前禁用同步
问题描述
是否可以在 launchApp 之前/期间禁用同步(使用 newInstance:true)?理想情况下,我想要:
await device.launchApp({ newInstance: true, url });
立即解决。
我继承了一个在启动时会做奇怪事情的应用程序,所以我想在一开始就绕过同步,然后才重新启用它。
我试过这样的事情:
await device.disableSynchronization();
await device.launchApp({ newInstance: true, url });
await waitFor(element(by.id('root'))).toBeVisible().withTimeout(10000);
await device.enableSynchronization();
但是从我读到的文档中,总是为新实例重新启用同步。
有没有办法强制关闭同步,以便 device.launchApp 可以真正解决?
解决方案
现在可以使用启动参数来实现-detoxEnableSynchronization NO
。
老答案:
Detox 不支持在启动时禁用同步,但如果网络请求导致问题,您可以将 URL 黑名单作为启动参数传递,这将禁用该网络请求的同步。
await device.launchApp({
newInstance: true,
launchArgs: { detoxURLBlacklistRegex: ' \\("http://192.168.1.253:19001/onchange","https://e.crashlytics.com/spi/v2/events"\\)' },
});
推荐阅读
- java - 打印集合的所有子集
- javascript - 在 Angular 组件上从 Angular 外部设置属性
- probability - m bins 问题中 n 个球的最合适分布
- mysql - 有没有办法使用表单中的组合框在 ms 访问中的字段中输入多个值?
- java - Java(FX):“可观察”数据库连接的最佳实践
- vim - 识别导致行为的 vim 插件
- android - 如何在没有 getExternalStorageDirectory() 的情况下从 Android 上的根目录读取文件?
- nuodb - Centos:启动失败 LSB:启动 NuoDB Admin
- r - 运行多行代码但在 R 中出现错误(来自 RStudio)?
- javascript - 在 google sheet 脚本中声明 const 的替代方法