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

javascript - TestCafe - 如何在不通过测试的情况下检查 Web 元素是否存在?

我正在尝试编写一个脚本,该脚本需要根据 CSS 选择器找到的特定浏览器对象是否存在来调整其工作流行为。

我不想使用 document.getElementByID 方法,因为这在技术上不是 CSS 选择器,而且我们整个企业都在 CSS 选择器上进行了标准化,因此除了 CSS 选择器之外的任何遍历 DOM 的东西都不会通过我们的代码审查流程反正。

thingSelector 在哪里:

OpenThing 在哪里:

如果对象不存在并且我正在检查它是否存在,或者如果对象存在并且我正在检查它不存在,以及对象不存在的情况,我需要能够继续执行它不存在并且对象不存在,我正在检查它是否不存在。

在所有情况下,我仍然需要继续工作流程。

我已经尝试了逻辑硬币的两面:

如果上述其中一个在一个场景中没有失败,那么它将在另一个场景中失败,而另一个将在第一个没有失败的场景中失败。我需要一些能给我逻辑的东西,但永远不会使脚本执行失败,并且仍然允许我根据对象是否存在返回 True 或 False。

预先感谢您帮助我解决这个问题,并学习和成长我的 Javascript 技能!

0 投票
1 回答
1132 浏览

node.js - node js:我要获取(子)exec的输出并设置要重新调整的变量?

我一直在寻找一个真正的例子,但我找不到任何一个。我对节点 js 完全陌生。

我正在设置一个使用命令行工具获取密码的服务。

命令行“pw get key”返回与密钥关联的密码。命令行“pw set key password”设置与密钥关联的密码。

我到目前为止的部分代码是:

这将在 testcafe 环境中使用。这里我定义了一个角色。

如果我对 pw 使用文字字符串,testcafe 代码就可以工作。

/丢失的位/ 是空的,因为我尝试了许多不同的东西,但没有一个工作!

我想我可以让它与孩子的 *Sync 版本一起工作。但由于这是在可能并行运行的 testcafe 内,我更喜欢异步版本。

有什么建议吗?我知道真正理解 node.js 中的 Promise 之类的东西,但我无法摆脱这一点。

看来这应该是 node.js 专家的标准练习。

0 投票
2 回答
618 浏览

javascript - 在JS中选择第二个提交按钮

我想使用 TestCafe 单击表单中的提交按钮。这是按钮的样子:

此按钮位于表单内:

在我的测试中,我想将产品添加到购物车:

问题是,在 nabber 中是另一个类型为 submit 的按钮。如何使用此特定按钮将我的产品添加到购物车?

0 投票
2 回答
936 浏览

testing - 等待元素出现在 TestCafe 的静态按钮上

我的网站上有一个奇怪的 TestCafe 行为。我在一个站点上有两个复选框和一个按钮,一旦我点击它,我就会进入下一步。当页面加载时,de 按钮是可见的并且在任何时候都不会被操纵。

这是按钮的标记:

这是我的代码的样子(这个问题的相关部分):

在 chrome 中,它向我展示了这张图片:

在此处输入图像描述

命令行的输出是这样的: 在此处输入图像描述

该按钮始终可见,即使我使用开发人员工具查看网站时,该按钮也在那里,并且它具有我想要单击的 ID(确认提交)。

我怎样才能解决这个问题?在其他页面上,我可以毫无问题地使用 .click 功能。

0 投票
2 回答
709 浏览

testing - 在 Testcafe 中使用 document.getElementsByClassName

我有一个始终具有相同结构的菜单,但 ID 可以从一个安装更改为另一个。唯一保持不变的是标题(在我的例子中是“插件”)。我在我的测试中调用document.getElementsByClassName函数:Selector

菜单元素的每个标题都有c-p-header-text类。这是菜单标题元素的样子:

它很容易使用await t.click("#ext-gen150"),但总是这个 id 是不安全的。

这是我尝试过的:

运行这个测试给我以下输出:

计划是找到元素(标题为“插件”),然后在测试继续时单击它。

0 投票
1 回答
1501 浏览

javascript - 检查 TestCafe 测试中的值

我使用 TestCafe 来自动测试特定功能。在此功能中,用户只允许有 5 个条目。网站上有一个标签,指示剩余的条目数。当用户已经有 5 个条目时,它应该删除一个以测试添加一个新条目。页面的html标记为:

现在我想准确地得到这个字符串,以便在它说 5 / 5 个可能的条目时使用 JavaScript 进行一点 if/else 来删除一个条目。到目前为止,我有这个测试代码:

当测试运行时,extractEntries.toString() 的输出会输出以下内容:

下一行:

我试过了extractEntries.textContentextractEntries.innerHTMLextractEntries.innerText我无法得到文本5 / 5 possible entries

访问文本的解决方案是什么?

0 投票
1 回答
1375 浏览

testing - 检查 img src 在 TestCafe 中是否有正确的路径

我使用 TestCafe 进行测试,需要检查 img 是否具有正确的路径。有两个img元素:

情况1:

本例结果:之前有错误。

案例二:

本案例的结果:bullet_gr.png 在网站上。一切正常!

在我的测试中,我.expect(Selector('img[src="images/icons/bullet_gr.png"]'))用来检查bullet_gr.png在我的网站上是否可见。不幸的是,每次访问的 ID 都是不同的(它们在用户登录时呈现并且每次访问都是唯一的)。所以我不能使用.expect(Selector('#dynamicID4')).

一旦我.expect(Selector('img[src="images/icons/bullet_gr.png"]'))在测试中使用该行,一旦用户登录测试,它就会立即完成,并且我得到测试成功的输出。

检查网站上是否链接了 bullet_gr.png 的解决方案是什么?

0 投票
2 回答
1757 浏览

testing - TestCafe 团队是否计划正式支持 Gherkin (BDD)?如果不是,目前将 TestCafe 与 Gherkins 集成的最佳方式是什么?

我的团队有点像 TestCafe,但对采用它有一些保留意见。主要是支持 Gherkin 集成。gherkin-testcafe npm 包和示例https://github.com/helen-dikareva/testcafe-cucumber-demo似乎还没有准备好迎接黄金时段。

它是目前支持 BDD 的更可靠的方式吗?

0 投票
1 回答
1011 浏览

testing - 单击带有 TestCafe 的孩子

我需要一个关于点击 testCafe 的非常简单的帮助。

我有一个简单的元素 10

  • 里面。我必须单击第一个或最后一个或从索引 0 到索引 10 的随机 li。

    我怎样才能做到这一点?

  • 0 投票
    1 回答
    2575 浏览

    javascript - 使用 Javascript 请求阻止?

    如何使用 JavaScript 阻止来自某个 URL 的请求?例如,在 chrome 上执行此操作的手动方式是打开检查页面,进入网络并从那里阻止。但是我需要阻止来自某些 URL 的请求,以进行我用 JavaScript 编写的自动化测试(使用 testcafe,如果有帮助的话)。

    以下是手动阻止来自 chrome 的请求的屏幕截图,我想在我的测试/JavaScript 中自动执行相同的操作: ScreenShot1 Screenshot2

    谢谢你。

    编辑:我厌倦了这篇文章:Blocking request in Chrome 但由于某种原因,我总是收到一个错误,指出当我使用 chrome.webRequest 时 chrome 未定义