问题标签 [detox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
react-native - 排毒不会在 Circle CI 上启动 iOS 模拟器
在 Circle CI 上运行 detox UI 测试时,它在启动模拟器时卡住了。
如果我根本不预先启动模拟器,测试就会卡住
如果我尝试使用 预启动模拟器xcrun instruments -w "iPad Air 2 (11.2)"
,则预启动失败:
并且测试陷入与没有预启动相同的错误。
如果我尝试使用xcrun simctl boot "iPad Air 2"
(此https://discuss.circleci.com/t/cant-find-simulator-xcode-9/16733推荐的)预启动模拟器,测试会卡在:
模拟器列表xcrun
显示有 iPad Air 2 (11.2) 模拟器。
有任何想法吗?
圈子 CI 2
排毒 6.0.0
发布配置
App 是 React Native 应用,平台 iOS
ios - 排毒:IOS 模拟器不返回 "onMessage: {"type":"ready","messageId":-1000,"params":{}}"
我的应用程序是 Hybrid 即 IOS Native / React Native,在“detox test --loglevel verbose”时,它卡在“detox verb ws send: {"type":"isReady","params":{}, "messageId":-1000}" 但在我手动点击一个反应本机子模块(在 ios 模拟器上)后不久,它会收到 "onMessage: {"type":"ready","messageId":-1000,"params" :{}}" 并且未能通过我最初为 IOS Native 部分编写的测试。
这是日志 Detox_Logs
注意事项
我还在 xcode 应用程序启动“[[NSNotificationCenter defaultCenter] postNotificationName:@"RCTContentDidAppearNotification" object:nil];"中添加了这个片段 但没有解决目的。
我已经在我的 react-native 子模块所在的文件夹中安装了 detox,xcode 工作区也位于另一个文件夹中。
请指导一下,这将非常有帮助。
ios - E2E:使用 Wix Detox 从 UIImagePickerController 中选择图像
我需要编写一个 e2e 测试,在某些时候它必须在 UIImagePickerController 中选择一个图像,我尝试使用element(by.type('UIImagePickerController')). tapAtPoint()
但没有用。我需要一种选择图像的方法。我找到了一种使用本机测试的方法。
对我来说,模拟也不是一种选择,因为我使用的是 react-native-repackeger 需要的更高版本。
重现步骤与任何使用图像选择器的应用程序一起使用
尝试使用
element(by.type('UIImagePickerController')).tapAtPoint({ x: 50, y: 200 })
- 排毒:6.0.2
- 节点:8.9.0
- 设备:iOS模拟器6s
- Xcode:9.2
- macOS:10.13.1
- 反应原生:0.46.4
没有日志,设备点击了正确的位置,但点击没有效果。
ios - 使用 React Native 进行排毒 UI 测试非常慢
我们在运行 wix/detox UI 测试时遇到问题。他们慢得令人难以忍受。
我们试图尽可能消除一切,我们禁用了所有后台进程,我们删除了几乎整个 UI 元素,我们试图禁用自动同步但没有任何帮助。它绝对比排毒文档中的动画慢一个数量级。
只有 1 个按钮的简单应用程序,单击该按钮大约需要 1.5 秒,当尝试在我们 UI 的某些部分上运行测试时,需要 40 秒,但只有很少的按钮和文本输入。
结果是我们的整个测试套件运行了 30 分钟(我们仍然没有涵盖我们想要的所有内容)。
典型日志:
(即使没有动画)
或者:
库版本
排毒:6.0.0、6.0.4、7.0.0-alpha
反应原生:0.51.0
开玩笑:20.0.4
(我们也试过摩卡,没有变化)
detox - setURLBlacklist 未按预期工作
环境: 排毒 6.0.4 节点:8.9.4
我正在进行挂起测试,添加时--debug-synchronization 5000
我一直看到这些消息:
detox info Sync App State: Waiting for network requests to finish.: (
detox info Sync "http://localhost:1234/configurations/_?examplerequset
detox info Sync )
detox info Sync Dispatch Queue: com.apple.main-thread
然后我将此行添加到我的测试启动中
await device.setURLBlacklist(['.*localhost:1234.*']);
并且我可以在测试开始时看到相应的日志:
detox verb ws send: {"type":"invoke","params":{"target":{"type":"Invocation","value":{"target":{"type":"Class","value":"GREYConfiguration"},"method":"sharedInstance","args":[]}},"method":"setValue:forConfigKey:","args":[[".*localhost:1234.*"],"GREYConfigKeyURLBlacklistRegex"]},"messageId":1}
detox verb ws onMessage: {"type":"invokeResult","messageId":1,"params":{"result":"(null)"}}
但我仍然在同Waiting for network requests to finish
一个 URL 上获得相同的日志。看起来它忽略了我的黑名单。
帮助将不胜感激。
testing - 排毒 - 启用时点击一个按钮
在使用 Detox 进行测试时,我在按钮上执行 tap() 时遇到问题。
我们的测试如下所示:
该按钮始终可见,但只有在表单字段中输入文本后才会启用(“可点击”)。因此,上面的代码在启用之前点击了按钮,导致没有实际操作。我想做的是等到按钮启用,然后执行点击。
处理这种情况的建议方法是什么?我在文档中找不到任何好的例子。
android - Detox + React Native Android 启动到黑屏
问题
虽然我的 detox 在 iOS 上运行良好,但我的 react-native android detox build 在通过 detox cli 打开时会启动一个空白屏幕。
在这种状态下可能不值得一提cmd + m
或重新加载。rr
包.json
故障排除
跑步时
android apk 安装,启动,但卡在空白屏幕。
排毒日志
2分钟后
安卓日志
从跑步开始react-native log-android
模拟器行为
在上述日志之后的某个时间,应用程序将超时,所以我将其杀死。当我从模拟器启动相同的应用程序(由 detox 安装的相同 apk)时,它按预期工作!
react-native log-android
当 apk 按预期启动时,来自的日志有额外的行
在这一点上,我知道 apk 很好,所以我尝试了--reuse
flag 但同样的问题。
排毒测试.java
问题
有谁知道如何解决它,以便在通过 detox cli 运行时,应用程序将按预期启动,而不是我得到的空白屏幕?如果没有,我可以采取什么好的下一步措施,将启动应用程序与 DetoxTest.java 隔离开来?
detox - 运行个人排毒测试
Runningdetox test
运行套件中的所有测试。有没有办法运行测试的子集?单个测试文件或单个测试用例。
根据文档,我已将 Detox 配置为使用 Mocha 作为测试运行器。我知道 Mocha 可以-g
选择指定运行测试的模式。但是传递给detox
命令的选项似乎没有传递给mocha
:
我正在尝试将 Detox 用于 TDD,而且我获得的反馈越快越好。随着我的测试套件的增长,如果运行时间越来越长,那么随着我的开发,运行测试的动力就会越来越小。
react-native - 无法解决项目:detox
我刚刚开始为我的项目实施 Detox for android。
但是,我遇到了问题Error:Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve project :detox'.
当我按照自述文件中的所有步骤进行操作时,我不确定自己做错了什么。