Jenkins 是否可以用一个测试(Cypress)测试多个URL?

Jenkins 是否可以用一个测试(Cypress)测试多个URL?,jenkins,pipeline,cypress,Jenkins,Pipeline,Cypress,我是Cypress测试的新手,不知道是否可以用一个测试(sample.spec.js)测试多个URL 这是我的sample.spec.js describe("my first cypress test",()=>{ it('navigate to eat site', () => { cy.visit(Cypress.env('url')) }) }) 我在cypress.json上定义了环境变量“url” 我打算使用这个命令行

我是Cypress测试的新手,不知道是否可以用一个测试(sample.spec.js)测试多个URL

这是我的sample.spec.js

describe("my first cypress test",()=>{
    it('navigate to eat site', () => {
        cy.visit(Cypress.env('url'))
    })
})
我在cypress.json上定义了环境变量“url”

我打算使用这个命令行通过一个测试来测试多个URL

node_modules/.bin/cypress run --spec cypress/integration/examples/sample.spec.js --env url=https://www.google.com --headed

是否可以定义url数组并使用Jenkins管道测试所有url数组?另外,如果有办法缩短上面的命令行,请告诉我


谢谢。

顺便说一下,您的方法已经足够好了(如果您将手动运行测试,而不是通过CI工具)

要缩短URL,可以做两件事:

  • 将在终端中传递的URL存储在
    cypress.json
    文件中的环境变量中。它将是这样的:
  • 这样,您只需更改测试文件中的值,以指向要针对其运行测试的环境

    另外,您需要将
    cy.visit()
    命令移动到
    beforeach()

  • 在您的
    package.json
    文件中创建一个运行cypress的命令,以便只需在终端中键入
    npm run
    npm run cypress
    ),即可启动cypress亚军。它将是这样的:
  • 如果要从CI运行测试,它将取决于要使用的工具。这对你来说太过分了

    {
        "env": {
            "local": "some_localhost_reference",
            "staging": "some_staging_reference",
            "production": "some_production_reference"
        }
    }
    
      "scripts": {
        "cypress": "cypress open"
      }