是否有赛普拉斯测试工具的代码生成器

Posted

技术标签:

【中文标题】是否有赛普拉斯测试工具的代码生成器【英文标题】:Is there a code generator for Cypress testing tool [closed] 【发布时间】:2019-02-03 23:51:31 【问题描述】:

我一直在研究Cypress测试工具。我有巨大的前端流程要测试。写这么多 JS 代码会很困难。

所以我想知道是否有记录/生成代码测试的代码生成器。

我知道一个工具 Snaptest - snaptest.io。但是,此工具仅在 NightWatchJS 和 Chromeless 中生成代码。赛普拉斯框架被禁用。

我发现了这个 - https://github.com/cypress-io/generator-node-cypress 但我不确定这是做什么的。

所以我想知道是否有任何替代记录器/生成器用于生成在赛普拉斯中使用的代码。

建议?谢谢。

【问题讨论】:

不完全是你要找的,但我最近写了一个库来简化在 Cucumber 中编写常见动作(点击、打字等)。因此,例如,您只需编写“我单击“提交按钮””,它就会单击提交按钮。看看:picklejs.com 【参考方案1】:

是的,似乎有一个很好的尝试来创建场景记录器,并且在很大程度上可以工作:

https://chrome.google.com/webstore/detail/cypress-scenario-recorder/fmpgoobcionmfneadjapdabmjfkmfekb/related?hl=en

【讨论】:

我公司的 QA 团队已经使用 Cypress Scenario Recorder 一年了。它节省了很多时间。 chrome.google.com/webstore/detail/cypress-scenario-recorder/…【参考方案2】:

2021 年更新

其他答案提到的生成器已经有一段时间了。我最初是在 2018 年 8 月回答这个问题的,当时没有可用的发电机。我仍然坚持以下建议。

原答案

回答你的问题:

没有

为您提供不请自来的建议:

在整个前端测试一个巨大的流程是赛普拉斯的一种反模式。他们(和我)建议将其分解为每个页面的规范,然后仅在该规范中添加小测试,以针对您在该页面上执行的操作。您还需要模拟、存根或以其他方式以编程方式设置和拆除该规范运行所需的状态。

查看此页面并观看链接的 YouTube 视频以获得更好的想法。 https://docs.cypress.io/guides/references/best-practices.html#Organizing-Tests-Logging-In-Controlling-State

我在将 selenium 用于页面对象和工作流程方面有着悠久的历史。当我开始使用 Cypress 时,我与这个想法抗争了一段时间,但喝了 kool-aid 后发现这种方式好多了。

【讨论】:

这有帮助。但这有什么作用 - github.com/cypress-io/generator-node-cypress ? 或者是否可以在 cypress js 文件中添加 nightwatchJS 代码? @Skadoosh 您链接的存储库似乎用于为赛普拉斯生成 NPM 包。您将无法将 Nightwatch 代码添加到 Cypress,因为它们的工作方式完全不同;一方面,Nightwatch 使用 W3C Webdriver API,而 Cypress 在浏览器中运行并在需要时使用自己的 Web 驱动程序。【参考方案3】:

Cypress Support Pro 插件内有一个内置记录器,适用于 IntelliJ 平台(IDEA、Webstorm 等) 它允许在 Cypress Runner 中记录 UI 操作,并将生成的代码直接插入到 IDE 中的案例中。 此外,记录器具有可插拔架构,可以轻松扩展或替换代码生成逻辑。默认情况下,它使用来自KabaLabs / Cypress-Recorder 的脚本。

这里是录像机的简短视频概述:https://www.youtube.com/watch?v=FgnHYwmguFI 您可以在这里免费试用插件:https://plugins.jetbrains.com/plugin/13987-cypress-support-pro(或者直接通过设置 -> IDE 中的插件菜单安装)

自我宣传披露:我是这个付费插件的作者。

【讨论】:

【参考方案4】:

我们创建了一个新的 Cypress Recorder 扩展(与上面发布的不同),我们认为它可能比之前发布的更接近您的要求。

https://chrome.google.com/webstore/detail/cypress-recorder/glcapdcacdfkokcmicllhcjigeodacab

请随时告诉我们您的想法。

【讨论】:

【参考方案5】:

根据 Github 上的this issue,有人提出了测试记录器,但目前赛普拉斯还没有。

【讨论】:

【参考方案6】:

“Cypress Studio 通过记录与被测应用程序的交互,提供了一种在 Test Runner 中生成测试的可视化方式。” https://docs.cypress.io/guides/core-concepts/cypress-studio

【讨论】:

以上是关于是否有赛普拉斯测试工具的代码生成器的主要内容,如果未能解决你的问题,请参考以下文章

赛普拉斯:检查元素是不是存在无异常

如何在赛普拉斯中使用 fakerjs

赛普拉斯可以运行在赛普拉斯文件夹之外导入的测试文件吗?

赛普拉斯:失败后是不是可以完成测试

以下错误源于您的测试代码,而不是赛普拉斯 - 未定义进程

赛普拉斯:测试元素是不是不存在