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

testing - VueJS 自动化——Test Cafe vs. Nightwatch——优点/缺点

我正在考虑为 VueJS 应用程序创建自动化测试用例,该应用程序将支持多个不同的桌面浏览器和移动(iOS 和 Android)浏览器。我遇到了几个选项,包括 Protractor、Test Cafe、Nightwatch 和 Cypress。Cypress 仅支持 Chrome 浏览器,因此我将无法使用它,而 Protractor 似乎更适合测试 Angular 应用程序。因此,我正在寻找使用过 Test Cafe 或 Nightwatch 的人的反馈。

问题

  1. 您觉得这两种工具中哪一种更好,为什么?
  2. 一个与另一个的优点/缺点是什么?(Selenium Based vs. Not 对我来说无关紧要)
  3. 是否支持移动浏览器测试?
  4. 有没有人有任何问题阻止您使用它并采用另一种方法?
0 投票
1 回答
1071 浏览

typescript - 函数参数中的模板插值导致 TS2554:预期 1 个参数,但得到 2

按照http://devexpress.github.io/testcafe/documentation/getting-started/上的 Testcafe 入门指南,我在修改示例测试脚本时遇到了麻烦。

打字稿版本:2.7.2 节点版本:8.7.0 Webstorm 版本:2017.2.6

这编译并运行良好。我读过 Typescript 支持字符串模板,并且示例测试已经使用反引号来包围它的字符串,所以我尝试分解出一部分 URL:

这会导致错误“TS2554:Expected 1 arguments, but got 2”,并且 webstorm 会突出显示以fixture(.

尝试.page用变量完全替换参数会导致不同的编译错误。

“TS1005:';' 预期的。” 关于str变量的使用。

但是,放入str括号可以解决编译错误:

这编译并运行良好。因此,page如果正在传递变量,似乎需要括号括起来的参数,但如果是字符串文字,则不需要?但我的第一次尝试只是引入了一个变量插值,它被视为编译错误。

的定义page()看起来像这样(来自node_modules/testcafe/ts-defs/index.d.ts):

有人可以解释为什么 Typescript 认为我的第一次修改是非法的吗?

0 投票
0 回答
548 浏览

typescript - 在打字稿中定义 testcafe 用户角色

在 Testcafe 中,我可以使用以下内容在 javascript 中定义用户角色:

我有一个将 allowJs 设置为 false 的 Typescript 项目,当我在 typescript 代码中使用上述代码时

我明白了

fixture.beforeEach 钩子中的错误 - “角色”参数应该是角色实例,但它是一个对象。

0 投票
2 回答
657 浏览

javascript - Testcafe:对文本区域长度的期望

我把 a 放在 amaxLengthtextarea,我想断言,如果我键入的字符多于maxLength,多余的字符将被截断。我无法弄清楚如何在 testcafe 中以简单的方式做到这一点。这不起作用:

但是,value没有一个length就可以了。断言 API 中也没有length函数。

0 投票
1 回答
1785 浏览

dialog - Testcafe - 无法关闭浏览器对话框

我的测试中有一个单击按钮(removePhoneNumberButton)的函数。单击此按钮时,将显示浏览器警报。

我想做的就是能够将其关闭以继续进行测试,但我不确定如何实现这一点。

我已经查阅了有关处理本机对话框的 Testcafe文档,但无济于事。

以下:

似乎也没有用。

这是我的代码:

谢谢。

0 投票
0 回答
1663 浏览

testing - TestCafe - 由于加载缓慢的元素导致浏览器超时

我最近开始使用 TestCafe 测试我的 WebApp,并且遇到了我的一个页面的问题.. 该页面在元素中显示信息之前向第三方进行了昂贵的调用.. 此调用可能需要 10 秒以上返回。

在测试这个页面时,TestCafe 似乎想等到这个元素被加载之后才会执行测试(测试不引用这个元素)。

我的问题是是否有办法解决这个问题?

我本来希望不是在整个页面上调用 await ,而是在特定的选择器上调用 await 会起作用,但是没有乐趣,即使不包括等待仍然等待这个元素加载?比较迷茫!任何帮助将不胜感激!

0 投票
2 回答
1508 浏览

testing - 如何在 testcafe 夹具/测试中使用动态 url

使用这个夹具,我想checkoutId根据夹具钩子中 API 调用的结果进行设置,before以便我可以使用它来设置我的测试页面

我尝试了固定钩子共享变量,但我无法让它工作,请求页面时 checkoutId 未定义。

这种情况甚至可能吗?

0 投票
1 回答
1381 浏览

javascript - Typescript:如何管理具有冲突类型声明的依赖项?

我有错误:Subsequent variable declarations must have the same type

发生这种情况是因为我需要两个依赖项;声明相同的类型。

开玩笑/node_modules/@types/jest/index.d.ts=>declare var test: jest.

测试咖啡馆 node_modules/testcafe//ts-defs/index.d.ts=>declare var test: TestFn;

我的项目是一个使用 webpack、babel 和 Typescript 的 react/redux 项目。

当我通过npm start它运行我的开发服务器时发生错误webpack-dev-server。它在我运行时也会产生问题,jest因为它使用了 testcafe 的声明Test类型版本。

如何解决?

0 投票
2 回答
160 浏览

javascript - testcafe/node.js 元素查询中抛出错误

我正在编写的 testcafe 脚本中有以下代码片段。

但是在第 38 行我收到以下错误

页面“ https://mywebpage.com ”上的错误:

未捕获的类型错误:无法读取未定义的属性“顶部”

我意识到这个错误意味着我的页面不再存在但是肯定有一个电子邮件框这里是 html

所以在这种情况下,这个错误是什么意思。提前致谢。

更新:删除行以查看错误发生的位置后,我发现在加载包含 .myclass 的页面后立即引发错误。

0 投票
1 回答
729 浏览

javascript - 使用 .pressKey('tab') 在 testcafe 中按 'tab' 然后使用 .typeTest()

我正在为网站编写测试,我希望输入一些内容,单击选项卡然后继续输入我有以下测试:

我的问题是如何在我刚刚“标记”的框中输入内容。由于 typeText 需要一个选择器作为第一个参数。注意:我确实想在这里使用标签。我为 ??? 放了什么,有没有办法让 t.pressKey('tab') 返回一个选择器,因为它现在正在返回一个对象。