问题标签 [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.
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 看起来像这样:
非常感谢您的帮助!
javascript - 排毒 _ 无法键入字符串,因为屏幕上未显示键盘
我正在尝试使用 detox 测试我的 react-native 应用程序,等待文本输入可见并在其中输入文本。我的规范 JS 文件如下所示:
我得到的错误是:
我正在使用以下工具:
这是我的 podfile:
现在我只是使用像下面这样的睡眠命令,以便让我有时间手动插入字符串。然而,这不应该是一个永久的解决方案......
我还在 GitHub 上的 Detox 问题中发表了评论,但想知道是否有人有相同的经历并在这里找到了解决方案。
提前感谢您的帮助!
react-native - 在真实设备上运行 react-native detox e2e 测试
有没有办法在 CI 管道中的真实设备上运行 detox e2e 测试?
我的目标是在 AWS 设备场或类似设备上运行测试。
我读到可以在 bitrise ci 上运行 e2e 测试,但我想它们将在 iOS 模拟器中执行,对吧?
任何提示表示赞赏。
javascript - 排毒:仅在存在时点击按钮
在我的测试中,我想模拟“cancelUpgrade”按钮中的点击,只有当它显示时:
它返回预期的错误Error: Cannot find UI element.
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)。
react-native - 排毒测试未完成
我为 E2E 测试设置了detox,为持续集成设置了 Bitrise。
我已经设置了一个非常简单的初始测试套件,但由于某种原因,我的测试在完成后没有完成。
初始化.js
firstTest.spec.js
工作流程段:( 这只是一个脚本步骤)
(稍后将移植到 .yml 文件)
package.json - 省略了所有不必要的东西。
Bitrise 成功执行了我的测试,我可以在本地机器上运行它们,因此问题出在 Detox 上。
测试将通过,但它只是挂起。
该detox.cleanup()
函数被调用,因为我可以在日志文件中看到它:
任何帮助将不胜感激。
detox - Detox 5.10.0 挂在 Jest runner
仍然是 detox 的新手,试图理解为什么 package.json 中的一个命令有效而另一个无效。
ReactNative 项目
detox@5.10.0
一个 detox 配置:
案例 1. 测试工作。
案例 2. 测试不工作。
测试只是挂。
案例 2 的日志尾部:
问题 问题是,我不能将第一种情况用于多种配置(例如,对于 android)
我做错了吗?请你看一下好吗?
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}:
react-native - 如何使用 Detox 从匹配的视图中获取文本?
我想测试一个具有列表和过滤功能的视图:
- 我想检查第一行的文本并保存
- 使用该文本过滤
- 再次检查是否呈现了相同的元素
问题是,当我使用 匹配和元素时,我element(by.id('some-id'))
如何从该元素(如果可能的话)中检索信息,就像它包含的文本一样?
detox - 动画按钮阻止排毒
这就是我对动画按钮的意思。我让它有一个 ID,但 Detox 无法以某种方式找到它。
Detox 通过自动将您的测试与应用程序同步来消除片状。如果应用程序繁忙,则测试无法继续到下一行。只有当应用程序空闲时,测试才会恢复。Detox 非常密切地监控您的应用程序,以便了解它何时处于空闲状态。它跟踪几个异步操作并等待它们完成。这包括:
跟踪当前正在进行的所有网络请求并等待它们完成 跟踪未决动画并等待它们完成 跟踪计时器(如 setTimeout)并等待它们到期 跟踪承载异步的 React Native 桥消息 跟踪异步 React Native 布局和影子队列 跟踪可能包含未决异步操作的 JavaScript 事件循环
所以显然有一条线说要跟踪待处理的动画,所以如果按钮保持这样的动画。那么它会一直等待吗?因此,通常如何正确处理这个问题?
谢谢