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

testing - 从 Testcafe 控制 Vue 导航

为了测试 Vue2,我使用testcafe。运行测试的命令

测试文件

我希望在 .click(logiIn) 站点之后路由到/#/projects,但是我添加到测试中没有任何反应

再次没有结果。如果我将.page设置为/#/projects,它将被重新路由到登录。

所以我只能测试登录页面,因为我不能让 testcafe 路由 Vue 到下一个视图。


仅当登录单击后我们有 ajax 时才会出现此问题。TestCafe 没有请求处理程序,所以最好为 e2e 尝试其他东西

0 投票
2 回答
261 浏览

testing - TestCafe 问题,模式对话框中的输入框未触发 onChange 事件

我正在尝试更新屏幕上的数字。我点击更新菜单,让我更新一个号码。当我单击更新按钮时,它将打开一个模式对话框,其中包含一个用于新号码的空文本框和一个保存按钮。保存按钮最初是禁用的。如果用户在文本框中手动输入数字,将触发 onChange 事件并启用保存按钮。但是,如果我让 testcafe 脚本在数字文本框中输入一个数字,则保存按钮将保持禁用状态。我的猜测是,当我使用 testcafe 时.typeText(inputbox,'123'),它​​不会在文本框中触发 onChange 事件。非常感谢您对此的任何帮助。


[1]

0 投票
1 回答
20156 浏览

javascript - 使用 async/await 将参数传递给函数

我正在尝试将参数传递给使用 async/await 的函数。我已经像这样定义了我的功能

但是,当我尝试将此函数导入另一个文件时,就像这样,我无法传递它,t因为t is not defined

是否可以使用 async/await传入我的textA和参数(可能使用柯里化或其他方式)?textB

编辑:所以这是作为测试咖啡馆库的一部分运行的。它看起来像是t来自何时testcafe chrome client/__tests__/运行,而不是在common.js文件中导入。

0 投票
1 回答
388 浏览

node.js - 将一组文件路径从命令行传递到“npm run test”?

我正在使用 Testcafe 将文件上传到我的应用程序,我需要运行命令“npm run test”。目前,我已经在我的规范脚本中对文件路径进行了硬编码。

我想要实现的是在 n 次循环中使用 n 个不同的文件运行相同的规范。到目前为止,对我来说实现这一点的唯一方法是为具有不同文件名的 n 文件编写 n 规范,但我不想这样做,因为所有规范都是相同的。

我想知道是否可以自动化,以便可以从某个目录中读取文件名并替换为我的规范。

0 投票
1 回答
1169 浏览

testing - jenkins中如何将testcafejs与不同浏览器集成

目前,我正在使用 testcafejs 为 React 项目进行自动化 UI 测试。

我想在 Jenkins 等持续集成环境中运行这些测试。我已经添加了 browserStack 插件,以便使用不同的浏览器和操作系统在本地运行它们。

但是,我想将它们集成到 Jenkins 中,但并不总是使用 browserStack 配额进行日常检查。关于如何在 Jenkins 的不同浏览器中运行它们的任何建议?

0 投票
1 回答
1797 浏览

testing - 使用 Testcafe 绕过弹出窗口的条件测试

我正在使用 testcafe 在电子商务页面中运行一些测试,但是一个随机弹出窗口正在破坏测试。当它出现在窗口中时,Testcafe 无法单击下一个选择器并继续进行测试,然后失败。

目前,我正在使用 .js 文件来保存选择器,例如:

然后,我将它们导入另一个 .js 并声明测试,如函数:

最后,我正在执行 another.js,在其中使用test命令声明测试:

由于它是随机事件(它发生在不同的时刻,例如有时在产品页面中,有时在结帐页面中),可以使用一些条件测试绕过此弹出窗口,例如弹出窗口“x”出现在屏幕,单击“关闭弹出窗口”并继续测试,否则继续测试。

我在testcafe Test API中搜索并没有找到这样的功能。

我正在使用 testcafe 0.17.0。

0 投票
1 回答
2944 浏览

testing - testcafe 如何进行条件元素的选择

我在选择有条件地出现在页面上的元素时遇到问题。我试过await了,但没有用。

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
479 浏览

javascript - 调试使用 Testcafe 编写的 UI 测试

更新:

关于另一个(锤头)错误,我们被迫在 testcafe 测试中使用缩小代码。由于此错误已解决,我们现在可以针对非缩小代码运行测试。

但是,我们仍然存在源映射被 testcafe 删除的问题。当我们正常运行 webpack 开发服务器时,我们会看到所有源映射,并且能够设置断点并调试应用程序代码。

然而,在测试期间源地图不再可用。您可以看到显示 2 个案例的附加屏幕截图。

我们在这里做错了吗?

没有 Testcafe 的图像

带有 testcafe 的图像


我们的项目使用 Testcafe + Webpack + Vue.js。我知道可以通过t.debug()指令或node.js 的--inspect 标志来调试测试代码。

但是,我只能看到经过混淆且无法真正调试的生产代码 (build.js)。我想知道是否有可能进行配置,以便 testcafe 不使用捆绑代码,而是使用原始源代码(可能使用源映射?)。我source-map在 webpack 中用作 devtool 选项。

我知道 UI 测试应该测试生产代码,但是在开发时有这样的配置会很好。有任何想法吗?

0 投票
1 回答
386 浏览

typescript - 扩展 TestController / TestControllerPromise

我正在用 test cafe 编写我的 E2E 测试。我正在测试的代码是一个加载到其他网站的库,首先需要对其进行初始化。所以我的每一个测试都从相同的代码开始:

我想把它移到我可以像内置方法一样链接的辅助方法中。
所以我的代码看起来像这样:

我怎样才能做到这一点?

0 投票
1 回答
438 浏览

javascript - 甚至跨浏览器一个一个地执行测试

我正在使用 testcafe 针对不支持并发的测试后端编写 E2E 测试,即如果两个测试并行执行,则测试后端会崩溃。

当我仅针对一种浏览器进行测试时,测试会按顺序执行。但是,当我指定多个浏览器时,测试会按浏览器串行运行,但测试会同时在每个浏览器中启动。

我希望 testcafe 首先在一个浏览器中执行所有测试,然后打开下一个浏览器并在其中执行所有测试,等等。

这可能吗?