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

detox - 如何在屏幕外使用 React Native TextInput 执行动作 typeText()(位置:绝对,右:-99)

我在屏幕外有 TextInput,样式为 {position: 'absolute', right: -99},当我调用 action typeText() 时,我收到此错误

“错误:错误:由于约束失败而无法执行操作。操作异常:{“操作名称”:“Tap”,“元素描述”:“”,“失败的约束”:“可交互”, "所有约束" : "(!(isSystemAlertViewShown) && ((respondsToSelector(isAccessibilityElement) && isAccessibilityElement) || kindOfClass('UIView')) && (启用 && !(((kindOfClass('UIView') || respondsToSelector (accessibilityContainer)) && 祖先ThatMatches(!(enabled))))) && 可交互的)", "恢复建议" : "调整元素属性,使其匹配失败的约束。" }

[ {“描述”:“由于约束失败,无法执行操作。”,“错误域”:“com.google.earlgrey.ElementInteractionErrorDomain”,“错误代码”:“1”,“文件名”:“ GREYBaseAction.m", "Function Name" : "-[GREYBaseAction satisfiesConstraintsForElement:error:]", "Line" : "66" } ] " 我如何在屏幕外使用 React Native TextInput 执行动作 typeText()

0 投票
1 回答
537 浏览

react-native - Detox/Appium tap、multiTap 和 longPress 在元素上不起作用

在 React Native 项目中使用 detox。这是组件:

实际测试:

问题:

应该有一个 rss 项目成功并找到该项目。但是,尝试点击 TouchableWithoutFeedback、View 或 Text 元素会成功,但下面的函数不会触发。测试没有失败 Detox 表示 Tap 发生了,但是从 Tap 产生的 item_view 从未出现。标题中的所有方法我都试过了:tap、multiTap、longPress。我也试过在测试过程中手动敲击,它也不起作用。排毒中只有一些元素类型可以点击吗?

更新:我今天在 Appium 中尝试过,它也无法单击该元素。看起来问题出在TouchableWithoutFeedback

0 投票
1 回答
399 浏览

detox - Android上的React-native - 无法编译应用程序

我按照所有说明设置 Android,但是当我尝试编译它时抱怨它找不到所需的模块DetoxTest.java

0 投票
1 回答
396 浏览

react-native - 未启用远程调试器时,React Native Detox 测试失败

如果我无法在运行前通过 In-App Developer Menu 启用远程 JS 调试(即未及时键入 command + D 并单击“启用远程 JS 调试”),则以下测试失败:

我在我的 package.json 中使用与文档建议相同的配置,但是-configuration Debug当应用程序和反应本机重新加载时不启用调试器。反正有没有默认启用调试器?

0 投票
1 回答
455 浏览

react-native - 调整元素属性,使其匹配失败的约束

使用 detox 测试 react-native for ios

我有一个链接

但不能点击它element(by.id('someId')).tap()

错误

排毒 7.1.0

为什么我不能点击它?

0 投票
1 回答
954 浏览

react-native - 排毒错误:超过 120000 毫秒的超时。用于异步测试和钩子

我正在尝试在我的 react-native up 中运行一些 e2e 测试我正在使用 Detox 但我不断收到以下错误

0 投票
3 回答
4810 浏览

react-native - 在 React Native 中查找带有 detox 的 TabNavigator 选项卡项

我在我的 React Native 项目中使用 react-navigation,我正在设置使用 Detox 的自动化测试。

不幸的是,我在文档中没有看到任何关于如何告诉 detox 找到(然后当然是点击)选项卡导航器的选项卡的内容。

我尝试使用 react-devtools 查看组件树,但无法确定哪个元素代表选项卡按钮本身。

我还尝试通过它的文本找到元素,如下所示:

但是通过“找不到 UI 元素”错误。

感谢任何人都可以提供的任何帮助。

0 投票
1 回答
2272 浏览

ios - 排毒测试挂在 detox.init 的混合应用程序中

描述

在我的混合应用程序中运行 detox 时,detox 在超时之前卡在 init 上。[最后的日志是detox verb ws send: {"type":"isReady","params":{},"messageId":-1000}]

混合应用程序具有本机登录,但大多数应用程序都是本机反应。如果我急于登录并进入应用程序的 react native 部分,那么 Detox 就会顺利运行。

设置

设置与https://github.com/wix/detox/blob/master/docs/Introduction.GettingStarted.md中描述的相同

初始化.js

正如您在日志中看到的,它永远不会达到“CONSOLE LOG ASYNC END BEFORE”(除非我快速跳过应用程序的 ios 部分)

包.json

Detox、Node、Device、Xcode 和 macOS 版本

  • 排毒:7.1.0
  • 节点:8.9.4
  • 设备:Iphone 7 模拟器
  • Xcode:9.2
  • macOS:10.12.6

设备和详细排毒日志

详细的排毒日志

设备日志

0 投票
2 回答
391 浏览

react-native - Detox - 如何在新规范运行之前运行以前的规范以避免重复的测试步骤?

所以我写了一个登录用户的测试:

现在我正在编写一个新的规范来注销用户,所以我希望登录规范在注销规范中运行,而不是再次编写相同的测试代码。我想它看起来像:

在继续执行新步骤之前,如何让 Detox 运行第一次登录测试?

不幸的是,beforeEach it('应该授予具有有效凭据的用户访问权限')不起作用,所以我在语法中遗漏了一些东西。

0 投票
2 回答
1011 浏览

react-native - 实施排毒后开玩笑测试被打破

我希望能够分别运行我的排毒测试和我的 Jest 单元测试。例如,使用 运行 detox 测试detox build && detox test,使用npm test.

实施排毒后(使用 mocha 作为测试运行程序),运行npm test会立即出错,看起来它试图运行我的排毒测试(不是我所期望的)!这是我得到的第一个错误。

FAIL e2e/auth.spec.js

当我的 package.json 将测试脚本指向 Jest 时,不确定它为什么要尝试运行排毒测试。 "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest" }

我现在如何运行我的笑话测试?