问题标签 [testcafe]

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 回答
948 浏览

testing - 在 TestCafe 中等待“WebComponentsReady”事件的最佳方式是什么?

我想在运行任何 TestCafe 测试之前等待页面中的 Web 组件升级(换句话说,WebComponentsReady在运行测试之前等待事件)。做这个的最好方式是什么?

0 投票
2 回答
765 浏览

javascript - Testcafé - 获取隐形内容的值属性

我需要获取 an 的值<input>,特别是保存在其 value 属性中的内容。

但是,这input是不可见的,因此这似乎是 testcafé 的问题。

有谁知道如何解决这个问题?是否有一个特殊的选项可以与它一起使用Selectors来使其工作?

感谢您帮助我,感谢您的帮助!

0 投票
2 回答
1027 浏览

javascript - 如何对选择器的所有节点执行断言?

在我的 testcafe 测试中,我有一个匹配多个节点的选择器。我想在此选择器匹配的所有节点上执行断言。

这将仅对返回的第一个元素执行断言mySelector

这将在所有元素上执行它,但它真的很冗长:

有没有一种我缺少的内置方法可以做到这一点?

0 投票
1 回答
796 浏览

javascript - 如何调试这个 Testcafe 案例?

到目前为止,我已经为这个项目总共编写了 12 个测试,并且根据测试的组成,在不同的地方发生了一个错误。

我的问题是关于如何调试这个问题。我将分享错误和测试样本,希望其他人有类似的问题并且对如何解决它有想法。

Uncaught TypeError: Cannot read property 'type' of undefined是有问题的错误,并且没有提到它发生的位置。

从测试的角度来看,下一个动作应该是单击一个按钮并获得一个用于创建新产品的弹出窗口。

该应用程序工作正常且没有问题,它只是报告问题的 e2e 测试。

所报告的测试是孤立地工作的。排除此测试,错误会在另一个测试中出现。

在这篇文章的最后,您将能够看到跳过此测试时引发的错误。

在此处输入图像描述

跳过原始测试时,在不同的测试中出现相同的错误。 在此处输入图像描述

0 投票
2 回答
1059 浏览

javascript - Testcafe .presskey 用于多次按下

我正在尝试编写TestCafe Javascript 来测试使用键盘作为唯一导航的网页(即“通过选项标签”)。

TestCafe 运行这些测试,但它们运行得非常快(最多 5 秒),并且屏幕上没有任何反应。所以我想知道它是否真的有效。

最重要的是,我正在尝试找到一种方法来干燥我的代码。根据我在文档中读到的内容,每次我想按下一个键时,我都需要调用 .pressKey('tab')。如果我需要连续点击 5 次“制表符”,我的代码中有 5 行。有没有办法消除这种不必要的重复?

谢谢!

0 投票
1 回答
2257 浏览

javascript - TestCafe:检查图像

我正在寻找一种方法来检查来自特定页面的所有 img src 是否导致 200。到目前为止我得到了这个脚本:

现在我们可以读取 src 属性,如果它们以“数据”开头,则跳过它们,以避免使用 base64 图像。如果我navigateTo现在使用该命令,我会在浏览器中看到图像,但无法执行其他任何操作。你能帮我检查一下吗?

0 投票
1 回答
896 浏览

javascript - 如何在不等待检查选择器是否不存在 Node.js 和 TestCafe 的情况下编写 if 条件

对不起,总的 N00b 问题,但这里是,

我正在编写一些测试自动化,而我正在自动化的网站有时会对页面上的某些元素有某些行为,而有时它对页面上的不同元素有不同的行为。它通常属于两种模式之一。将其称为模式 A 和模式 B。问题是模式 A 和模式 B 之间存在一些共享元素,因此它不仅仅是不同的元素。

但是,无论哪种情况,当模式 B 处于活动状态时,都有一个元素始终在屏幕上,而当模式 A 处于活动状态时,它不在屏幕上。此外,模式 A 的工作流程稍长一些,需要与之交互的一些额外控件。让我们将此元素称为“ProfileIdentifier”。我有一个定位器,我想编写一些逻辑代码来检查这个元素是否不存在,然后与额外的控件交互并执行更长的工作流程,然后是公共控件和常见的工作流程模式 A 和模式 B。

简而言之,是这样的:

或者可能是这样的:

注意:我看过其他类似的问题,例如: 相关问题 #1

我确实在这个问题的一个答案中看到了一线希望: 可能的答案

我正在使用 Atom JavaScript 编辑器,结合 TestCafe 和 ES6,我更愿意远离像 getElementById 这样的代码,因为这不是在 JavaScript 中利用 CSS 定位器的最佳(高性能和稳定)方式,尤其是如果我们必须在网站的其他部分重复使用类似的定位器来进行样式设置和其他测试自动化。

0 投票
1 回答
3425 浏览

testing - TestCafe 是否适合 BDD 和 cucumber?

我了解 TestCafe 试图取代基于 Webdriver 的测试框架,如 Selenium。我还找不到与 BDD(黄瓜)集成的示例。

0 投票
1 回答
3791 浏览

selenium-webdriver - TestCafe 在哪些方面比 Selenium 更好?

TestCafe 克服了哪些问题来证明它对 Selenium 的采用是合理的?将旧的测试服移植到 TestCafe 是否值得?

0 投票
1 回答
963 浏览

testing - 开源工具 TestCafe 与 DevExpress TestCafe(每年 249.99 美元的应用程序)有何关系?

他们两个是否以某种方式融合在一起?两者之间的关系令人困惑,并且它们具有相同的名称。249.99 美元的工具能否用于运行使用开源 API 编写的测试?