问题标签 [cypress-component-test-runner]

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 回答
676 浏览

vue.js - 如何将 CDN 样式表链接导入 Cypress 组件测试运行程序

我有一个 vue-cli 项目。我已经使用官方文档成功设置了 cypress 组件测试运行器:https ://docs.cypress.io/guides/component-testing/introduction 。现在,我在使用我的 index.html 中包含的 CDN 链接(即 fontawesome 和 mdi 图标)在我的应用程序中提供的图标字体时遇到问题。这些链接之一,例如:

由于组件测试运行程序不加载index.html,因此缺少图标并且无法测试某些功能。而且我还没有找到可以包含这些链接的地方(在每个<component>.vue文件中导入它们不是解决方案)。

有没有人可以解决这个问题?

注意:我不想安装这些框架的 npm 包。我需要使用 CDN 交付的版本。

0 投票
1 回答
68 浏览

cypress - 使用赛普拉斯自动化的 URLS 重定向

我在场景大纲中传递了 100 多个 URL 路径(旧版),我想点击其中的每一个并重定向到新路径(新)。我通过了如下代码;

我在我的 stepDef 文件中通过了以下内容

并且运行成功。

但我想使用响应代码 301 作为断言,而不是仅依赖于 expectedUrl。

请问我该怎么做?

0 投票
0 回答
289 浏览

javascript - Cypress 7+ 挂在 IC

使用 迁移到最新的赛普拉斯版本(7.0.1、7.2.0、7.3.0)webpack-dev-server后,我在使用赛普拉斯 docker 映像在 IC(Jenkins)中运行我的 React 组件测试时遇到了同样的问题,cypress/browsers:node14.16.0-chrome89-ff86而在本地一切正常(Windows 10)。工作继续进行:

ℹ 「wdm」: wait until bundle finished: /__cypress/src/index.html

由于超时,在 15 分钟后停止之前。

这是启动测试的脚本:

这是我的cypress/plugins/index.js

这是我的cypress/webpack.config.js

这些是我使用的依赖项:

有任何想法吗 ?

谢谢你的帮助

0 投票
1 回答
216 浏览

javascript - 如何使用赛普拉斯将当前时间设置为未来时间?

我正在使用 cypress 自动倒计时内容块,我需要使用 Cypress 测试重复场景。在示例中,

在开始 - 天 - 00 | 小时 - 00 | 分钟 - 00

我需要验证,一小时后,将开始倒计时(天 - 23 | 小时 - 59 | 分钟 - 59)

我不能使用硬编码的等待时间,所以我尝试了以下 cypress 脚本,但它不起作用。

这里面有什么穿的吗?或者帮我找到一个好的解决方案。

0 投票
2 回答
45 浏览

javascript - 如何在 Cypress 中编写可重用的“之前”?

我想编写可重用的“之前”部分,但未能将变量从主文件(A.js)传递到导入的代码(HelloUtil.js)。提前感谢您提供的任何建议。

js

HelloUtil.js

我收到的结果:

在此处输入图像描述

0 投票
2 回答
736 浏览

vue.js - 无法在 Cypress Vue 组件测试中模拟模块导入

我是Cypress 组件测试的新手,但我能够为我的 Vue 项目轻松设置它。我目前正在研究是否应该用 Cypress 替换 Jest 来测试我们的 Vue 组件,到目前为止我很喜欢它,我仍然缺少一个主要功能:模拟模块。我第一次尝试使用cy.stub(),但它根本不起作用,因为我不是在尝试模拟 Node.js 中的实际模块,而是在 Webpack 中导入的模块。

为了解决这个问题,我尝试使用能够模拟 Webpack 模块的 rewiremock,但是在运行测试时出现错误

在此处输入图像描述

我从赛普拉斯派生了示例,并在此提交中设置了 Rewiremock 。老实说,不确定我做错了什么。

我真的需要找到一种方法来解决它,否则我们会停止考虑 Cypress 并坚持 Jest。如果使用 Rewiremock 不是方式,我想如何实现这一点?任何帮助将不胜感激。

0 投票
0 回答
33 浏览

cucumber - 赛普拉斯中 StepDefinition 的不同文件夹

如何在不同的文件夹中编写不同的步骤定义,并在一个功能文件中同时使用这两个步骤定义。请建议

0 投票
1 回答
260 浏览

html - 带有文本转换大写的赛普拉斯输入未选择正确的值

我有一个带有样式 text-transform: 大写的 html 输入,所以每当用户在其中输入一个值时,它都会变成大写。但是当我使用柏树来定位这个元素的价值时

.should('have.value', FIELD),

我仍然得到以小写字母输入的原始值,而不是输入字段中显示的大写值。

cypress 有没有办法处理这种情况?

仅供参考,我正在使用“cypress”:“7.4.0”

0 投票
1 回答
300 浏览

javascript - Cypress cy.tick() 第二次调用时不转发时间

我一直在阅读有关组件测试设置的文档cy.clock并将其与组件测试设置一起使用。但我似乎在这里做错了什么

在此处输入图像描述

实施(现在)是这样的

控制台仅显示...的 1 个打印件new Date()

0 投票
0 回答
347 浏览

javascript - 是否可以在赛普拉斯的一次测试中自动化多个网址?

我正在尝试自动化一个有登录页面的 Web 应用程序 - 例如 -

test.webapplication.com。

成功登录后,网址发生变化,变成类似

mycm.home.site.com。

我无法在一次测试中使用 cypress 实现这一目标。登录后,cypress runner 消失,测试不再执行。有什么解决办法吗?

添加了更多描述-

登录前——

它('登录',函数()

因此,以下操作将在新的 url(主页)上发生,但 cypress runner 关闭,因为登录后 url 正在更改,因此登录后无法继续 -

cy.get("#firstfield").type("abc)
cy.get("#secondfield").type("xyz)