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

javascript - 排毒问题:BUILD FAILED Ld build/Build/Products/Debug-iphonesimulator

我正在尝试使用 Wix/Detox 来测试我的 react-native 应用程序(iOS 版本)。我已成功遵循https://github.com/wix/detox/blob/master/docs/Introduction.GettingStarted.md上的说明(直到“detox build”)

但是,在我的项目目录中运行“detox build”时,出现以下错误:

运行“排毒测试”时,出现以下错误:

我的项目目录中有一个 e2e 文件夹,其中包含三个文件:init.js、mocha.opts 和 firstTest.spec.js。

firstTest.spec.js 看起来像这样:

init.js 看起来像这样:

mocha.opts 看起来像这样:

非常感谢您的帮助!

0 投票
4 回答
3260 浏览

javascript - 排毒 _ 无法键入字符串,因为屏幕上未显示键盘

我正在尝试使用 detox 测试我的 react-native 应用程序,等待文本输入可见并在其中输入文本。我的规范 JS 文件如下所示:

我得到的错误是:

我正在使用以下工具:

这是我的 podfile:

现在我只是使用像下面这样的睡眠命令,以便让我有时间手动插入字符串。然而,这不应该是一个永久的解决方案......

我还在 GitHub 上的 Detox 问题中发表了评论,但想知道是否有人有相同的经历并在这里找到了解决方案。

提前感谢您的帮助!

0 投票
1 回答
1392 浏览

react-native - 在真实设备上运行 react-native detox e2e 测试

有没有办法在 CI 管道中的真实设备上运行 detox e2e 测试?

我的目标是在 AWS 设备场或类似设备上运行测试。

我读到可以在 bitrise ci 上运行 e2e 测试,但我想它们将在 iOS 模拟器中执行,对吧?

任何提示表示赞赏。

0 投票
3 回答
3734 浏览

javascript - 排毒:仅在存在时点击按钮

在我的测试中,我想模拟“cancelUpgrade”按钮中的点击,只有当它显示时:

它返回预期的错误Error: Cannot find UI element.

https://github.com/wix/detox

0 投票
0 回答
1996 浏览

react-native - 如何使用 react-native Detox 模拟 Facebook 登录?

Detox repo 上的一个常见问题是如何在测试中登录 Facebook ( https://github.com/wix/detox/issues/287 )。

答案:“模拟 FB API 以返回有效会话,无需实际登录过程。”</p>

当然!听起来是个好主意,但是……怎么做?有人可以指出我正确的方向吗?

Detox 码头提到react-native-repackager ( https://github.com/wix/detox/blob/master/docs/Guide.Mocking.md ) 可以用来SomeFile.e2e.js代替SomeFile.js但我不知道如何模拟一个库在node_modules/(本例中为 react-native-fbsdk)。

0 投票
1 回答
991 浏览

react-native - 排毒测试未完成

我为 E2E 测试设置了detox,为持续集成设置了 Bitrise。

我已经设置了一个非常简单的初始测试套件,但由于某种原因,我的测试在完成后没有完成。

初始化.js

firstTest.spec.js

工作流程段:( 这只是一个脚本步骤

(稍后将移植到 .yml 文件)

package.json - 省略了所有不必要的东西。

Bitrise 成功执行了我的测试,我可以在本地机器上运行它们,因此问题出在 Detox 上。

测试将通过,但它只是挂起。

detox.cleanup()函数被调用,因为我可以在日志文件中看到它:

任何帮助将不胜感激。

0 投票
1 回答
240 浏览

detox - Detox 5.10.0 挂在 Jest runner

仍然是 detox 的新手,试图理解为什么 package.json 中的一个命令有效而另一个无效。

ReactNative 项目
detox@5.10.0
一个 detox 配置:

案例 1. 测试工作。

案例 2. 测试不工作。

测试只是挂。

案例 2 的日志尾部:

问题 问题是,我不能将第一种情况用于多种配置(例如,对于 android)

我做错了吗?请你看一下好吗?

0 投票
1 回答
1048 浏览

react-native - 排毒测试时,React Native 在初始屏幕上超时完成

描述

我有超时问题,我不知道为什么。它请求权限,然后设置权限(可能)。在这一刻应用程序看起来已加载,但之后会显示带有微调器的黑屏片刻然后启动屏幕。在这一刻,应用程序被卡住了。

我发现很少有关于超时的问题,但是我尝试了很多在那里写的东西,但没有任何效果。我的同事尝试使用相同的包版本在同一个项目上运行 Detox,并且没有问题。他拥有相同版本的 React Native、XCode、Node、Mocha 和 Detox。

我尝试了什么:

  • Node 的几个版本:8.1.3、8.9.1 和 9.1.0
  • 重新安装节点
  • 再次删除并安装 node_modules (yarn/npm)
  • 更改排毒版本:5.9.4 和 5.8.1
  • 更改 Mocha 版本:4.0.1 和 3.5.2
  • 在ios模拟器中删除并安装App
  • 升级 XCode (9.0.1 –> 9.1)
  • 重新创建排毒版本,
  • 删除 npm 缓存
  • 删除排毒缓存

测试:

Detox、Node、Device、Xcode 和 macOS 版本

  • 排毒:5.9.4、5.8.1
  • 节点:8.1.3
  • 设备:ios模拟器
  • Xcode:9.1
  • macOS:塞拉利昂
  • 反应原生:0.44.0

设备和详细排毒日志

detox.last_launch_app_log.{out,err}:

0 投票
3 回答
6007 浏览

react-native - 如何使用 Detox 从匹配的视图中获取文本?

我想测试一个具有列表和过滤功能的视图:

  1. 我想检查第一行的文本并保存
  2. 使用该文本过滤
  3. 再次检查是否呈现了相同的元素

问题是,当我使用 匹配和元素时,我element(by.id('some-id'))如何从该元素(如果可能的话)中检索信息,就像它包含的文本一样?

0 投票
2 回答
3198 浏览

detox - 动画按钮阻止排毒

这就是我对动画按钮的意思。我让它有一个 ID,但 Detox 无法以某种方式找到它。

动画按钮

Detox 通过自动将您的测试与应用程序同步来消除片状。如果应用程序繁忙,则测试无法继续到下一行。只有当应用程序空闲时,测试才会恢复。Detox 非常密切地监控您的应用程序,以便了解它何时处于空闲状态。它跟踪几个异步操作并等待它们完成。这包括:

跟踪当前正在进行的所有网络请求并等待它们完成 跟踪未决动画并等待它们完成 跟踪计时器(如 setTimeout)并等待它们到期 跟踪承载异步的 React Native 桥消息 跟踪异步 React Native 布局和影子队列 跟踪可能包含未决异步操作的 JavaScript 事件循环

所以显然有一条线说要跟踪待处理的动画,所以如果按钮保持这样的动画。那么它会一直等待吗?因此,通常如何正确处理这个问题?

谢谢