问题标签 [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.

0 投票
1 回答
621 浏览

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

0 投票
0 回答
114 浏览

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

注意事项

  1. 我还在 xcode 应用程序启动“[[NSNotificationCenter defaultCenter] postNotificationName:@"RCTContentDidAppearNotification" object:nil];"中添加了这个片段 但没有解决目的。

  2. 我已经在我的 react-native 子模块所在的文件夹中安装了 detox,xcode 工作区也位于另一个文件夹中。

请指导一下,这将非常有帮助。

0 投票
2 回答
3246 浏览

ios - E2E:使用 Wix Detox 从 UIImagePickerController 中选择图像

描述

我需要编写一个 e2e 测试,在某些时候它必须在 UIImagePickerController 中选择一个图像,我尝试使用element(by.type('UIImagePickerController')). tapAtPoint()但没有用。我需要一种选择图像的方法。我找到了一种使用本机测试的方法。

对我来说,模拟也不是一种选择,因为我使用的是 react-native-repackeger 需要的更高版本。

重现步骤
  • 与任何使用图像选择器的应用程序一起使用

  • 尝试使用element(by.type('UIImagePickerController')).tapAtPoint({ x: 50, y: 200 })

Detox、Node、Device、Xcode 和 macOS 版本
  • 排毒:6.0.2
  • 节点:8.9.0
  • 设备:iOS模拟器6s
  • Xcode:9.2
  • macOS:10.13.1
  • 反应原生:0.46.4
设备和详细排毒日志

没有日志,设备点击了正确的位置,但点击没有效果。

0 投票
1 回答
1374 浏览

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

(我们也试过摩卡,没有变化)

0 投票
0 回答
211 浏览

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 上获得相同的日志。看起来它忽略了我的黑名单。

帮助将不胜感激。

0 投票
1 回答
941 浏览

testing - 排毒 - 启用时点击一个按钮

在使用 Detox 进行测试时,我在按钮上执行 tap() 时遇到问题。

我们的测试如下所示:

该按钮始终可见,但只有在表单字段中输入文本后才会启用(“可点击”)。因此,上面的代码在启用之前点击了按钮,导致没有实际操作。我想做的是等到按钮启用,然后执行点击。

处理这种情况的建议方法是什么?我在文档中找不到任何好的例子。

0 投票
2 回答
1939 浏览

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 很好,所以我尝试了--reuseflag 但同样的问题。

排毒测试.java

问题

有谁知道如何解决它,以便在通过 detox cli 运行时,应用程序将按预期启动,而不是我得到的空白屏幕?如果没有,我可以采取什么好的下一步措施,将启动应用程序与 DetoxTest.java 隔离开来?

0 投票
4 回答
5810 浏览

detox - 运行个人排毒测试

Runningdetox test运行套件中的所有测试。有没有办法运行测试的子集?单个测试文件或单个测试用例。

根据文档,我已将 Detox 配置为使用 Mocha 作为测试运行器。我知道 Mocha 可以-g选择指定运行测试的模式。但是传递给detox命令的选项似乎没有传递给mocha

我正在尝试将 Detox 用于 TDD,而且我获得的反馈越快越好。随着我的测试套件的增长,如果运行时间越来越长,那么随着我的开发,运行测试的动力就会越来越小。

0 投票
1 回答
639 浏览

react-native - 无法解决项目:detox

我刚刚开始为我的项目实施 Detox for android。

但是,我遇到了问题Error:Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve project :detox'.

当我按照自述文件中的所有步骤进行操作时,我不确定自己做错了什么。

0 投票
1 回答
248 浏览

android - Android Detox 的权限

正如标题所说的那样。我一直在寻找使用 Detox 为 Android 启用“绘制其他应用程序”等权限的方法。我认为这种行为与 iOS 中的 Permission 类似,但我似乎找不到任何文档。绘制在其他应用程序上