赛普拉斯如何将全局常量存储在可以跨所有规范文件使用的文件中?
Cypress How to store global constants in a file that can be used across all spec files?
我正在寻找一种方法来将全局常量存储在一个文件中,该文件可用于我所有的规范文件。有人可以帮忙吗?
全局变量 - 听起来像固定装置。
见writefile - JSON - Write response data to a fixture file
cy.request('https://jsonplaceholder.typicode.com/users').then((response) => {
cy.writeFile('cypress/fixtures/users.json', response.body)
})
// our fixture file is now generated and can be used
cy.fixture('users').then((users) => {
expect(users[0].name).to.exist
})
愿意分享你为什么要这样做吗?
听起来可能很有趣。
像这样使用项目根目录中的 cypress.json
文件:
{
"env": {
"your_var": "your_value"
}
}
https://docs.cypress.io/guides/references/configuration.html
一旦你设置了一些环境变量,你就可以像这样从你的规范中引用它们:Cypress.env('your_var');
以下 link 可能有助于提供一种设置和获取环境变量的简单方法。
https://docs.cypress.io/api/cypress-api/env.html#Syntax
describe('My First Test', function() {
it('it set value to global variable', function() {
Cypress.env('some_variable', "hello")
})
it('it get value to global variable', function() {
expect(Cypress.env('some_variable')).to.equal('hello')
})
})
您可以使用存储在 cypress.json 或 cypress.env.json.
中的环境变量
cypress.json
{
"env": {
"myVar": "value..."
}
}
cypress.env.json
{
"myVar": "value..."
}
您可以使用您的环境变量 Cypress.env('myVar').
const myVar = Cypress.env('myVar')
您可以在 cypress runner 的“设置”选项卡中查看您的环境变量。
因为cypress是js,可以在js文件(my-const.js)中定义const为
export const ARE_YOU_SURE='Are you sure';
并在另一个文件中使用它们作为
import * as constants from "../[proper path]/my-conste.js";
...
var s = constants.ARE_YOU_SURE + ' about this?'
我喜欢创建常量文件,例如 constants.js 作为可导出的常量对象:
export const NAME = {
FIRST: 'John',
LAST: 'Smith',
};
并在我的规范文件中导入它们:test.spec.js
import { NAME } from '../../support/constants';
describe('Landing page', () => {
beforeEach(() => cy.login());
cy.get(NAME.FIRST).assertion('verify the name');
});
我正在寻找一种方法来将全局常量存储在一个文件中,该文件可用于我所有的规范文件。有人可以帮忙吗?
全局变量 - 听起来像固定装置。
见writefile - JSON - Write response data to a fixture file
cy.request('https://jsonplaceholder.typicode.com/users').then((response) => {
cy.writeFile('cypress/fixtures/users.json', response.body)
})
// our fixture file is now generated and can be used
cy.fixture('users').then((users) => {
expect(users[0].name).to.exist
})
愿意分享你为什么要这样做吗?
听起来可能很有趣。
像这样使用项目根目录中的 cypress.json
文件:
{
"env": {
"your_var": "your_value"
}
}
https://docs.cypress.io/guides/references/configuration.html
一旦你设置了一些环境变量,你就可以像这样从你的规范中引用它们:Cypress.env('your_var');
以下 link 可能有助于提供一种设置和获取环境变量的简单方法。 https://docs.cypress.io/api/cypress-api/env.html#Syntax
describe('My First Test', function() {
it('it set value to global variable', function() {
Cypress.env('some_variable', "hello")
})
it('it get value to global variable', function() {
expect(Cypress.env('some_variable')).to.equal('hello')
})
})
您可以使用存储在 cypress.json 或 cypress.env.json.
中的环境变量cypress.json
{
"env": {
"myVar": "value..."
}
}
cypress.env.json
{
"myVar": "value..."
}
您可以使用您的环境变量 Cypress.env('myVar').
const myVar = Cypress.env('myVar')
您可以在 cypress runner 的“设置”选项卡中查看您的环境变量。
因为cypress是js,可以在js文件(my-const.js)中定义const为
export const ARE_YOU_SURE='Are you sure';
并在另一个文件中使用它们作为
import * as constants from "../[proper path]/my-conste.js";
...
var s = constants.ARE_YOU_SURE + ' about this?'
我喜欢创建常量文件,例如 constants.js 作为可导出的常量对象:
export const NAME = {
FIRST: 'John',
LAST: 'Smith',
};
并在我的规范文件中导入它们:test.spec.js
import { NAME } from '../../support/constants';
describe('Landing page', () => {
beforeEach(() => cy.login());
cy.get(NAME.FIRST).assertion('verify the name');
});