问题标签 [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 投票
2 回答
1626 浏览

node.js - 使用文件扩展名 e2e.js 进行排毒模拟

我正在使用 Detox 作为 React Native 应用程序的端到端测试框架。我想模拟 API 请求的结果,以减少测试的脆弱性和时间。

根据文档,我应该能够让 Metro 使用文件扩展名 e2e.js 覆盖一个模块。

我无法让这个工作,我不完全确定为什么。大多数文档和现有问题都与使用 react-native-repackager 相关,但从 RN 0.55.0 开始,不再需要这样做。

任何帮助/想法将不胜感激!

编辑:

RN_SRC_EXT=e2e.js react-native start工作正常

RN_SRC_EXT=e2e.js xcodebuild -project <other params>作为排毒构建脚本并且detox test -c ios.sim.release不起作用

0 投票
0 回答
955 浏览

react-native - 在 React Native 中使用 Detox 测试 Picker

我刚开始使用 Detox 来测试我的 react native 应用程序,我在测试 Pickers 时遇到了一些麻烦。我基本上需要能够从 Picker 中选择一个值!但是好像不可能!!

这是我的选择器:

这是我的测试:

但我得到的只是一条错误消息,说无法设置该值,因为它不存在,但它确实存在!因为我现在正在看!

有谁知道在 Picker 中设置值的正确方法?

任何帮助都会很棒!

0 投票
2 回答
2134 浏览

react-native - 排毒测试 - 如何禁用排毒信息记录到标准输出

我已通读文档,但找不到将日志级别设置为“静默”之类的方法。我不想看到所有的排毒日志信息。我只想看看测试输出。当前的日志级别是:

-l,--loglevel [值] 信息,调试,详细,愚蠢,wss

未指定日志级别默认为 info。

例子:

排毒测试输出

0 投票
0 回答
537 浏览

react-native - 无法使用 detox wix 库在“react-native-datepicker”中自动选择日期

我无法在“react-native-datepicker”对话框中选择日期和月份,这是我的排毒测试用例中的第三方库组件。我正在使用 detox-wix 库来编写自动化测试用例。

我可以使用 detox 的 text() 匹配器方法选择文本“2018”,并且可以选择出现在滚动视图中的不同文本,

我还可以使用相同的 by.text() 匹配器按下“确定”和“取消”按钮。

但是,当我尝试使用相同的 by.text() mathcer 选择日期选择器对话框中显示的日期时,它不起作用。

而且我无法通过单击“<”按钮来更改月份。需要一种方法来选择日期和月份。

0 投票
1 回答
2246 浏览

javascript - Detox - 测试模式在 React Native 中的可见性

我们正在使用 detox 编写反应原生应用程序的 E2E 测试,其中我们有一个案例需要测试按钮点击后是否出现模式。

但是 detox 无法根据给定的testID想法识别模态,模态按预期打开。使用排毒在反应性中测试模态是否有不同的方法?

下面是模态 JSX

下面是测试模态可见性的代码

0 投票
1 回答
224 浏览

javascript - 排毒测试:跟踪导致测试框架永远等待的 Javascript 计时器

Detox 测试框架,根据文档TroubleShooting Synchronization提到,测试框架将等待并且仅在应用程序“空闲”时执行您的下一个测试语句。

我现在遇到的问题是我的应用程序永远不会空闲,因为有一些超时持续触发。它可能在我的代码或第三方代码中。

这是一个输出示例:

排毒信息日志

如您所见,每隔几毫秒就会创建一个新计时器。我想做的是追踪哪一个,我可以看到 id,但不知道尝试追踪这个 (setTimeout) id 的确切来源的好方法。

  • 我想包装 setTimeout 函数,但不确定什么是最好的方法。
  • 我可以消除或至少包含setTimout在我自己的代码中,这样至少可以确定它是第三方库(这仍然无助于解决问题)。
0 投票
0 回答
333 浏览

proguard - 无法忽略 proguard 警告

我正在尝试将 Detox e2e 测试添加到我的项目中,当我运行时,assembleAndroidTest我收到了构建失败的 proguard 警告:

Warning: library class android.content.Intent depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlSerializer Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.graphics.drawable.BitmapDrawable depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlSerializer Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser Note: there were 13 unresolved dynamic references to classes or interfaces. You should check if you need to specify additional program jars. (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass) Note: there were 39 accesses to class members by means of introspection. You should consider explicitly keeping the mentioned class members (using '-keep' or '-keepclassmembers'). (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember) Warning: there were 89 unresolved references to classes or interfaces. You may need to add missing library jars or update their versions. If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) Warning: there were 16 instances of library classes depending on program classes. You must avoid such dependencies, since the program classes will be processed, while the library classes will remain unchanged. (http://proguard.sourceforge.net/manual/troubleshooting.html#dependency)

找不到任何dontwarn抑制它并允许我构建项目的东西,这个 SO 线程也不起作用。

谢谢

0 投票
1 回答
545 浏览

testing - Circleci macOS 盒子的规格是否太低而无法运行 Detox?

我在这里的 detox repo 上为此创建了一个问题。

我有一个使用JestDetox测试的 React Native 应用程序。

在本地,排毒测试运行没有问题(也在其他开发机器上进行了完整性检查)。但是,在Circleci上的macOS 盒子中运行时,它们从未通过。

Detox 的调试输出看起来像是 Detox 在模拟器上的初始应用程序设置之后永远很忙,但在那之后没有任何进展。

涉及的相关版本:

  • 排毒:7.3.3
  • 反应原生:0.55.1
  • 节点:8.9.1
  • 设备:iPhone 7 (11.2)
  • Xcode:9.2.0
  • macOS:10.12.6

进入“挂起”状态后的排毒日志片段:

我的问题是;Detox 是否因为在 Circleci 上运行的低资源(计算)环境而挂起(有没有人在 Circleci 上运行大型 Detox 套件)?

0 投票
1 回答
432 浏览

react-native - 运行 detox/wix 测试用例 android.util.AndroidException: INSTRUMENTATION_FAILED:

每次我在 android 模拟器上运行 detox/wix 测试用例时都会出现错误。

包.json

0 投票
1 回答
113 浏览

detox - 使用 Detox 作为黑盒测试仪

我知道 detox 是一个灰盒框架,但是在通过 iOS 设置时,我看到 detox 配置是:

“binaryPath”:“ios/build/Build/Products/Debug-iphonesimulator/HelloWorld.app”,“build”:“xcodebuild -project ios/example.xcodeproj -scheme example -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build” ,“类型”:“ios.simulator”,“名称”:“iPhone 7”

所以我的问题是我可以在 .app 或 .apk 上运行 Detox 测试而不先将其集成到应用程序中吗?

说像 appium 我给它 apk 位置并运行测试?