问题标签 [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 投票
5 回答
2228 浏览

cypress - Cypress BDD:Cypress Cucumber 处理器:无法运行步骤定义 .js 文件

我正在尝试构建一个柏树 BDD 框架。我认为我已经正确创建了功能和步骤定义文件。当我使用 运行测试时,我在此视频中npx cypress run --spec cypress/integration/examples/shoppingCart.feature --headed --browser chrome得到以下结果,视频长约 20 秒。

我不知道该怎么想,所以我制作了另一个视频,这是一个消除过程并查看 BDD 设置的过程。我仍然不确定(这个大约 8 分钟长)。

我将添加功能文件、步骤定义文件和错误消息。

我完全不解。

错误信息

特征文件

场景:用户可以购买商品并将其交付到送货地址

步骤定义文件

我确信我什至在正确的地方创建了 BDD 框架。

在此处输入图像描述

更新:

我刚刚被问到non global step definitions我的 package.json 中的内容(我只从“脚本”部分开始复制)。
快速浏览我什至没有看到它。

0 投票
0 回答
207 浏览

webpack - webpack.config.js fails to load cypress BDD script

I have an issue with cypress-webpack

I am trying to automate a scenario in BDD where I can verify a login confirmation mail in Gmail. I have installed the Gmail-tester and I have set it up. At the point of execution, I got an error that I would need webpack to load the scripts. I set up webpack.config.js and also updated the plugin/index.js file. and I still run into errors.

Because of the NDA at work, I have prepared a private reproducible repository to show you if you would have time to take a look at it. All the info required is in the repo.

The Update in my plugin/index.js is:

And My webpack.config.js file looks like this

And my package.json is:

What am I doing wrong?

0 投票
1 回答
265 浏览

typescript - Typescript/cypress-cucumber-preprocessor :使用动态示例编写场景大纲

我的问题与这个问题非常相似:Behave: Writing a Scenario Outline with dynamic examples。不同之处在于我不使用 Python。我使用 Cypress 处理我的 Gherkin 场景(通过 cypress-cucumber-preprocessor 库:https ://github.com/TheBrainFamily/cypress-cucumber-preprocessor )。

假设我有这个场景大纲(写在我的 Jira 中):

我想动态设置我的号码,因为我将从 REST 调用中收到它们。有没有办法做到这一点?

在具有行为的 Python 中,似乎可以使用 before_feature() 来做到这一点。

场景是这样的:

但我不知道如何迭代我的示例来设置它们。可能吗?

0 投票
1 回答
226 浏览

continuous-integration - 赛普拉斯无法从 GitHub 机密中读取密码,但能够获取记录密钥

这是我的 .yml 文件

0 投票
0 回答
147 浏览

cypress-cucumber-preprocessor - 为什么 cypress 不重新编译我的插件?

我正在用黄瓜研究柏树,当我尝试运行我的程序时,会出现以下消息:

上周它在学习同样的东西,还可以。

有小费吗?

0 投票
2 回答
91 浏览

automated-tests - Cypress:此数据未定义 - 测试无法在 BDD 测试中定位数据,但可以在 Mocha 框架下定位数据

我正在尝试使用 BDD 运行测试。它将打开测试页面,但是当我要求它进入包含一些测试数据的页面对象时,我从赛普拉斯控制台收到以下消息。

有趣的是,在将页面对象添加为普通 mocha 测试之前,我已经运行了这个测试。这段代码完美地端到端运行。

那么这个错误是从哪里来的呢?

在此处输入图像描述

BDD 测试场景

场景:用户可以购买商品并将其交付到送货地址

步骤定义文件

0 投票
0 回答
338 浏览

cucumberjs - Cucumber.js 在钩子之前无法处理标记的场景

我正在使用 cypress 和 cucumber(使用 cypress-cucumber-preprocessor)编写 UI 测试。

我正在尝试编写一个 Before 挂钩,它将自动删除本地存储。我只想为一些测试运行这个钩子(那些有登录阶段作为给定阶段的一部分。删除存储确保应用程序在测试开始时没有登录)。

我已经在 Before 钩子和 Scenario 中添加了一个标签,但是没有执行钩子中的步骤。我知道这一点是因为当我运行测试时登录步骤失败,因为存储没有被清除并且应用程序从上次运行时保持登录状态。

如果我从 Before 和 Scenario 中删除标记,则执行 Before 挂钩,擦除本地存储并且登录阶段运行没有问题。

我究竟做错了什么?

这是钩子:

和场景:

和给定阶段的步骤定义:

0 投票
0 回答
59 浏览

cypress - 赛普拉斯在没有请求的情况下拦截端点

目前,我正在一家网上商店工作并测试结帐功能。

页面的行为是:

1-如果用户是回头客并且之前进行过任何购买,则保存付款方式,并且每当用户在新购买中单击结帐按钮时,都会从/pay-method端点加载付款方式并且用户登陆确认页面.

2- 如果用户是新用户,(这意味着没有保存付款方式,也没有来自 的请求或响应/pay-method)当点击结帐时,则加载付款方式选择页面。

我想要做什么: 对于一个新用户,当点击结帐时,我想模拟/pay-method端点并直接登陆确认页面。

问题: 由于没有来自 的请求或响应/pay-method,我无法拦截和模拟此端点。有没有办法为未拦截的注入响应/pay-method

(Cypress v 7.5.0,cypress-cucumber-preprocessor v4+)

0 投票
1 回答
503 浏览

cypress - cypress-cucumber - 将值从一步定义传递到另一步定义

我正在使用柏树黄瓜。我有以下情况

步骤定义:

我的问题是:如何在“然后主页和购物车页面上的价格相同”的步骤定义中传递在主页和购物车页面中提取的价格

实现它的最佳方式/最佳实践是什么?

0 投票
0 回答
302 浏览

automated-tests - 在 url 中传递用户名和密码时,基本身份验证登录在 cypress 中不起作用,如何在 cypress 中通过基本身份验证登录

有没有办法在赛普拉斯自动化测试中绕过基本身份验证登录。

  1. 我尝试通过在 URL 中传递用户名和密码来登录我的应用程序,但它不起作用示例:cy.visit('https://myUserName:myActualPassword@domain'); cy.visit('https://john:password123@v10n5056:558/dashboard'); //当我直接在浏览器中输入时,这工作正常

  2. cy.visit('https://v10n5056:558/dashboard', { auth: { 用户名: 'john', 密码: 'password123', } })

  3. cy.ntlm('https://v10n5056:558/', 'john', 'password123');

以上都不适合我。

错误消息:cy.visit() 尝试加载失败:

https://v10n5056:558/仪表板

我们尝试向此 URL 发出 http 请求,但请求失败且没有响应。

我们在网络级别收到此错误:

错误:套接字挂起

失败的常见情况:

  • 你没有互联网访问权限
  • 你忘了运行/启动你的网络服务器
  • 您的网络服务器无法访问
  • 您的计算机上有奇怪的网络配置设置