3

我最近将 cucumber 与 cypress 集成,并添加了cucumber 完全支持插件(VS CODE),以便在我们开发功能文件时获得步骤建议。通常使用 java-cucumber 体验,即使我们在编写功能文件时在Given下定义了步骤,即使我们正在编写Then场景(工具:Idea),也会弹出步骤建议。但是在这种情况下,如果我们用Then定义一个步骤

Then("User click on Contact Us",() => {
    cy.get('#basic-navbar-nav > div > a:nth-child(6)').click()
})

当我们编写功能时,只有当我们使用Then开始功能时才会弹出步骤建议

Feature: Login

    Scenario Outline: Sample

        Given User go to TestSite
        Then User click on Contact Us

我想知道我们是否可以编写一个对所有 Given、When、Then 等通用的步骤 def。在 java-cucumber Intellij-Idea 支持中,我认为我们有一个 * 选项,包括 Given、When、then 等。有没有cypress 中的解决方法?

4

2 回答 2

1

您可以使用defineStep来实现通用步骤定义,如下所示:

defineStep("User click on Contact Us",() => {
  cy.get('#basic-navbar-nav > div > a:nth-child(6)').click()
})

就像 Given, When, Then 可以从cypress-cucumber-preprocessor/steps导入

import { defineStep } from 'cypress-cucumber-preprocessor/steps';

您可以在功能文件中使用此步骤,然后作为 Given、When 或 Then 步骤,如:

Feature: Login
    Scenario Outline: Sample
        Given User click on Contact Us
        When User click on Contact Us
        Then User click on Contact Us
于 2021-12-17T09:53:32.557 回答
0

我以前没有使用过那个插件,所以我不能专门回答这个问题,但是为了在我的赛普拉斯测试中获得更像小黄瓜的语法,我通常使用类似于下面示例的内容和嵌套描述。

context('Given ...', () => {
  describe('When ...', () => {
    it('Then ...', () => {
     ...
    })
  })
})
于 2021-06-24T19:58:51.580 回答