问题标签 [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.
javascript - TestCafe - 如何在不通过测试的情况下检查 Web 元素是否存在?
我正在尝试编写一个脚本,该脚本需要根据 CSS 选择器找到的特定浏览器对象是否存在来调整其工作流行为。
我不想使用 document.getElementByID 方法,因为这在技术上不是 CSS 选择器,而且我们整个企业都在 CSS 选择器上进行了标准化,因此除了 CSS 选择器之外的任何遍历 DOM 的东西都不会通过我们的代码审查流程反正。
thingSelector 在哪里:
OpenThing 在哪里:
如果对象不存在并且我正在检查它是否存在,或者如果对象存在并且我正在检查它不存在,以及对象不存在的情况,我需要能够继续执行它不存在并且对象不存在,我正在检查它是否不存在。
在所有情况下,我仍然需要继续工作流程。
我已经尝试了逻辑硬币的两面:
和
如果上述其中一个在一个场景中没有失败,那么它将在另一个场景中失败,而另一个将在第一个没有失败的场景中失败。我需要一些能给我逻辑的东西,但永远不会使脚本执行失败,并且仍然允许我根据对象是否存在返回 True 或 False。
预先感谢您帮助我解决这个问题,并学习和成长我的 Javascript 技能!
node.js - node js:我要获取(子)exec的输出并设置要重新调整的变量?
我一直在寻找一个真正的例子,但我找不到任何一个。我对节点 js 完全陌生。
我正在设置一个使用命令行工具获取密码的服务。
命令行“pw get key”返回与密钥关联的密码。命令行“pw set key password”设置与密钥关联的密码。
我到目前为止的部分代码是:
这将在 testcafe 环境中使用。这里我定义了一个角色。
如果我对 pw 使用文字字符串,testcafe 代码就可以工作。
/丢失的位/ 是空的,因为我尝试了许多不同的东西,但没有一个工作!
我想我可以让它与孩子的 *Sync 版本一起工作。但由于这是在可能并行运行的 testcafe 内,我更喜欢异步版本。
有什么建议吗?我知道真正理解 node.js 中的 Promise 之类的东西,但我无法摆脱这一点。
看来这应该是 node.js 专家的标准练习。
javascript - 在JS中选择第二个提交按钮
我想使用 TestCafe 单击表单中的提交按钮。这是按钮的样子:
此按钮位于表单内:
在我的测试中,我想将产品添加到购物车:
问题是,在 nabber 中是另一个类型为 submit 的按钮。如何使用此特定按钮将我的产品添加到购物车?
testing - 在 Testcafe 中使用 document.getElementsByClassName
我有一个始终具有相同结构的菜单,但 ID 可以从一个安装更改为另一个。唯一保持不变的是标题(在我的例子中是“插件”)。我在我的测试中调用document.getElementsByClassName
函数:Selector
菜单元素的每个标题都有c-p-header-text
类。这是菜单标题元素的样子:
它很容易使用await t.click("#ext-gen150")
,但总是这个 id 是不安全的。
这是我尝试过的:
运行这个测试给我以下输出:
计划是找到元素(标题为“插件”),然后在测试继续时单击它。
javascript - 检查 TestCafe 测试中的值
我使用 TestCafe 来自动测试特定功能。在此功能中,用户只允许有 5 个条目。网站上有一个标签,指示剩余的条目数。当用户已经有 5 个条目时,它应该删除一个以测试添加一个新条目。页面的html标记为:
现在我想准确地得到这个字符串,以便在它说 5 / 5 个可能的条目时使用 JavaScript 进行一点 if/else 来删除一个条目。到目前为止,我有这个测试代码:
当测试运行时,extractEntries.toString() 的输出会输出以下内容:
下一行:
我试过了extractEntries.textContent
,extractEntries.innerHTML
但extractEntries.innerText
我无法得到文本5 / 5 possible entries
。
访问文本的解决方案是什么?
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 的解决方案是什么?
testing - TestCafe 团队是否计划正式支持 Gherkin (BDD)?如果不是,目前将 TestCafe 与 Gherkins 集成的最佳方式是什么?
我的团队有点像 TestCafe,但对采用它有一些保留意见。主要是支持 Gherkin 集成。gherkin-testcafe npm 包和示例https://github.com/helen-dikareva/testcafe-cucumber-demo似乎还没有准备好迎接黄金时段。
它是目前支持 BDD 的更可靠的方式吗?
testing - 单击带有 TestCafe 的孩子
我需要一个关于点击 testCafe 的非常简单的帮助。
我有一个简单的元素 10
我怎样才能做到这一点?
javascript - 使用 Javascript 请求阻止?
如何使用 JavaScript 阻止来自某个 URL 的请求?例如,在 chrome 上执行此操作的手动方式是打开检查页面,进入网络并从那里阻止。但是我需要阻止来自某些 URL 的请求,以进行我用 JavaScript 编写的自动化测试(使用 testcafe,如果有帮助的话)。
以下是手动阻止来自 chrome 的请求的屏幕截图,我想在我的测试/JavaScript 中自动执行相同的操作: ScreenShot1 Screenshot2
谢谢你。
编辑:我厌倦了这篇文章:Blocking request in Chrome 但由于某种原因,我总是收到一个错误,指出当我使用 chrome.webRequest 时 chrome 未定义