问题标签 [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 回答
440 浏览

firebase - 使用 Firebase 电子邮件链接登录进行 e2e 测试?

我今天在对 CI 进行自动化 e2e 测试时偶然发现了以下问题。我的应用程序使用 3 种 firebase 登录方法:电子邮件链接、firebase 和 google。

在 e2e 测试期间,我最初以为我会使用电子邮件链接登录,但这不可能,因为应用程序需要进入电子邮件客户端并单击此类链接,所以现在我被阻止了。

我正在研究文档以查看是否有任何关于此问题的 e2e 测试建议,但无法找到解决方案。

firebase 是否提供了一个通用的解决方案?还是这里使用电子邮件+密码身份验证的唯一方法?

0 投票
2 回答
829 浏览

ios - Detox:如何使用 detox 在通知中心点击 iOS 推送通知

我是排毒和移动自动化的新手。我想使用 detox 在通知中心点击 iOS 推送通知。或者有没有其他工具可以与 detox 一起使用,以便在 iOS 上点击通知?

有什么建议么?谢谢

0 投票
2 回答
2868 浏览

ios - 使用 detox 测试 e2e 无法启动 iPhone 模拟器,而是启动 Apple TV

tldr; 我有一个 React Native 应用程序,我正在使用工作区。我已经阅读了这个排毒入门文档,现在我有一个包含 3 个文件(默认)的 e2e 文件夹,以及 package.json 中的配置。

配置看起来像

当我运行时,xcrun simctl list我得到以下列表,其中列出并启动了 iPhone 6。

detox build --configuration ios.sim.debug运行良好,但是当我运行或detox test --configuration ios.sim.debug启动Apple TV 模拟器并抛出此错误detox builddetox build --reuse

你可以看到它下面detox info 5:开始启动9875527D-A6FC-4BD8-965E-255C910E3ABA,也就是Apple TV Device。

如何配置 detox 来启动 iPhone 模拟器?

0 投票
0 回答
693 浏览

react-native - 在测试开始排毒之前重新启动应用程序

React Native 应用程序在运行 Detox e2e 测试套件之前重新启动。最初,它显示应用程序的第一个屏幕并重新启动应用程序测试套件。

这种行为的问题在于,当我尝试在 com.bitbar.com 设备农场服务门户上运行测试套件时,测试用例成功运行,而它必须失败并将日志写入文件。

我在本地对其进行了测试,如果我们不尝试将记录记录到日志文件中,那么它会成功运行应用程序,但是如果我们尝试将记录记录到日志文件中,那么测试用例首先会停止(不必要的)屏幕启动,使测试用例通过。如何停止排毒测试用例的这种行为。

测试用例:

命令运行测试而不将日志保存到

命令运行测试并将日志保存到

日志

在此处输入图像描述

0 投票
0 回答
1037 浏览

react-native - 错误:超过 120000 毫秒的超时。对于异步测试和钩子,确保调用了“done()”;如果返回一个 Promise,确保它解决

我认为问题(here)和(here)已经被问过了,但没有解决方案/答案来帮助。

我正在尝试将 Detox 自动化测试用于使用 EXPO 构建的 react-native 应用程序。我确实按照所有规定的步骤来实施/设置排毒环境。所以,我正在使用:

在package.json中有以下内容

在使用以下命令执行排毒测试时://Removing old log 从中我假设我在设置或配置中缺少一些东西。此外,app.js 有一个简单的视图和一个 testID:

并且 test.spec.js 有:

不过,我无法在控制台上捕捉到错误。我确实浏览了排毒在此处发布的同步页面

因此,非常感谢任何帮助。

我相信缺少来自模拟器设备的回电。

更新:删除旧日志并添加日志--debug-synchronization 100(与 1000 毫秒一样,它没有打印任何新内容)“现在正在打印这个新的错误字符串,其值为 100 毫秒。”

0 投票
0 回答
207 浏览

jestjs - 是否可以将 detox 配置为仅运行匹配的 *.spec.js 文件的子集?

据我从 Detox 文档、问题和 StackOverflow 问题中得知,无法配置 Detox,因此它只运行匹配测试的子集 (*.spec.js)。

有谁知道如何做到这一点?在我在 repo 上提出问题之前,我想在这里问一下。

大多数时候,只需要简单地运行所有匹配的测试。但在某些情况下,最好只运行一个子集。

例如:我想将 Jest 用于 1)验收测试 + PR 门控和 2)遍历应用程序并生成各种屏幕的屏幕截图。用例 1 快速且轻量级。用例 2 很昂贵并且需要很长时间。

对于每个用例,我只想运行该用例的测试。有谁知道该怎么做?我可以想到几种 hacky 方法(文件重命名,测试中的条件逻辑,键在 env 变量上,等等),但我认为这应该是一个受支持的东西。

0 投票
3 回答
1672 浏览

react-native-android - Detox + android 编译 DetoxTest.java 失败

我正在尝试运行

detox build -c android.emu.release

但是当它尝试编译DetoxTest.java时出现以下错误时失败

我尝试从包中导入 MainActivity,但找不到包。

RN 0.51.1 排毒:7.4.3

0 投票
3 回答
7220 浏览

react-native - 即使在添加 id 后排毒测试也无法识别 View

如果之前有人问过这个问题,请提前道歉。我遇到了detox 用于响应本机应用程序的 e2e 框架,我想尝试一下。

我正在尝试自动化这里给出的这个演示移动应用程序 -链接 由于测试detox用作testID定位器之一,所以我在LoginScreenMaterial.js里面的文件中添加了一个,app/screen/LoginScreenMaterial.js如下所示

然而,即使在成功构建应用程序之后,我还是通过这个简单的测试运行了应用程序

但是,由于无法识别元素,测试仍然失败。我在这个测试中缺少什么?我们不能在文件中testID明确添加这样的内容吗?.js

编辑 1:添加错误消息

0 投票
1 回答
285 浏览

detox - 排毒测试中基于平台的分支

我有一个用 Detox 编写的测试套件,我正在添加 android 支持。在我的测试中,一些我无法控制的按钮在 iOS 和 Android 之间有不同的名称。

我怎样才能让我的测试做:
await element(by.text('OK')).tap();在 iOS

await element(by.text('Done')).tap(); android 上?

0 投票
1 回答
1484 浏览

javascript - 如何在 iOS 中控制警报使用排毒?

在此处输入图像描述

我尝试使用以下方法按下 OK 按钮,但它不起作用。等待元素(by.text('Hello'))。轻敲 ();

https://github.com/wix/detox/blob/master/docs/ 有注释,不过好像不是关于如何控制系统弹窗的。

如果你知道,请告诉我。