问题标签 [cypress-cucumber-preprocessor]

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

javascript - 如何将多个插件添加到 cypress/plugins/index.js 文件?

我的 cypress/plugins/index.js 文件看起来像这样,我知道只能有一个 module.exports,但我正在努力将 cypressBrowserPermissionsPlugin 和 getConfigurationByFile 添加在一起

0 投票
1 回答
357 浏览

cypress - cypress 使用 cypress-cucumber 拦截 url 响应不返回响应

这是我的黄瓜 when 语句的一个例子

基本交互.js

我不断收到错误

AssertionError: 预期 { Object (id, routeHandlerId, ...) } 具有属性“response.statusCode”

或者

AssertionError: 预期 { Object (id, routeHandlerId, ...) } 具有属性 'status'

0 投票
1 回答
1420 浏览

javascript - 如何在赛普拉斯项目的 gitlab 管道中连接到 openVpn

我正在做一个柏树项目。我已经在 GitLab 中建立了一个管道。我的应用程序仅适用于通过 Open VPN 连接的专用网络。

有人可以指导我如何在 .gitlab-ci.yml 文件中添加它吗???

我的 .gitlab-ci.yml 是:

我的 package.json 如下:

0 投票
1 回答
260 浏览

cypress - Cypress:想要部分模拟 XHR 响应

我正在使用赛普拉斯,我想部分地存根 XHR 响应。我想捕获原始 JSON,并对其进行部分编辑。

例如:

cy.route('GET', `**/subjects`, 'fixture:mySubjects.json');

这样,我将整个响应存根,但我想看看:

原始 XHR 响应(当然还有许多其他属性):

我想要存根的只是名称,并且想要得到:

简而言之,我想做的是从响应中删除第二个主题“eng”。任何想法都非常感谢。

0 投票
1 回答
841 浏览

crystal-reports - 赛普拉斯 BDD html 报告,带有失败步骤的屏幕截图

我想为我在柏树中的 BDD 测试附上 html 报告中失败步骤的屏幕截图。

我正在使用“multiple-cucumber-html-reporter”,并且能够生成所有测试用例的 BDD 报告。

下面是我生成 html 报告的 .js 文件:

我知道在 cypress 的 BDD html 报告插件中,我们不能像以前在黄瓜中那样使用场景对象。

如何在此处添加截屏代码?

0 投票
0 回答
347 浏览

gitlab-ci - 赛普拉斯测试有时会无限期地卡在 Gitlab CI/CD 管道中。有什么解决方法吗?

赛普拉斯测试在本地运行完美,但是当我在 Gitlab CI/CD 管道中运行它们时,测试在 2-3 个测试用例之后卡在中间,最后超时。如何克服这种情况?

0 投票
1 回答
152 浏览

typescript - 在 Cypress 中,对于状态(给定)和结果(然后)的相同 Cucumberjs 定义中的最佳实践是什么?


Cucumber.js对使用和Cypress某些步骤定义 的最佳实践有一些疑问。

基本上,测试需要一个可以相同实现的状态和结果:

这是一个状态的例子:

这是一个结果的例子:

在这种情况下,我只看到代码重复,因为GivenThen实现相同的代码,执行相同的检查。我想了解所有可能的解决方案,以最有效的方式实现这一点。

双重实施

保留描述中定义的双步骤
PRO:更清晰的
缺点:双代码\

单一实现

留下一个实现,在Given或 中Then,因为 cucumber 实际上并没有检查特征文件中的 Step 和定义文件中与 step 相关的函数的匹配
PRO:代码的单一实现
缺点:不太清楚,更混乱在步骤定义中

外部功能

创建一个函数以放入例如 Cypress 的某些命令或 utils 中,并在两个定义中使用它
PRO:单一实现
缺点:过度设计?在 Cucumber.js 中从未见过这种方法

检查所有这些,您会建议哪一个?谢谢

0 投票
2 回答
41 浏览

automation - 使用 configFile 断言文本数据

我正在用 POM 写一个 Cypress。我想将断言文本/消息放在 textdata.json/txt 中,这样我就不会用太多的文本/信息填充页面类。我尝试了不同的方法,例如;

或者

cy.get("element") .should("have.text", this.data.variable name from json file)

具有前功能但不起作用。

知道我怎样才能取悦这个吗?

0 投票
0 回答
176 浏览

testing - 如何使用 cypress 自动化测试替换 index.html 文件中特定标记内的某些值

目前,我正在使用赛普拉斯测试自动化。我index.html里面有一个文件cypress/downloads/sample/index.html。该index.html文件具有以下结构。

我将复制脚本标记内的内容,该标记将显示在应用程序 UI 中,使用按钮单击进行复制操作,因此复制的内容如下所示

为复制和粘贴操作编写的方法如下:

writeFile 将替换整个index.html文件内容

需要帮助
我想index.html通过仅替换文件中的脚本标记(与 authConfig 相关)内容index.html而不替换整个index.html文件内容来替换(粘贴)复制到文件的内容。因此,clientID、signInRedirectURL 和fileserverOrigin的 script 标签内的index.html值将具有新值。是否可以使用赛普拉斯自动化读取index.html文件并捕获脚本标签并替换标签内容?<script>感谢您对如何实现这一目标的支持。

0 投票
1 回答
313 浏览

javascript - 如何将 json 数据存储到 Cypress 中的变量中

我正在尝试从赛普拉斯格式如下的 json 文件中获取员工 ID,但其返回错误为 Cannot read property 'name' of null

如何检索用户名“Devin Miller”的员工 ID?请帮忙

下面是我的代码

现在,如果我尝试执行以下操作,那么它会返回错误