簡體   English   中英

從 Cypress Fixture 訪問環境變量

[英]Accessing environment variables from Cypress Fixture

我剛剛開始使用 Cypress 進行 API 測試自動化。 我想使用Cypress.env在我的測試文件中訪問一些環境變量。 cypress 文檔將配置文件 ( cypress.json ) 列為存儲環境變量的明顯位置。

我需要測試來自 40 多家數據服務公司的眾多端點。 所有 40 項服務的業務邏輯各不相同。

因此, cypress.json"env"中的對象很多,因此無法在一個文件中進行管理。

我解決這個問題的思路是在 Fixtures 中創建一個環境變量文件,為每個數據服務存儲"env"對象。 但是我不確定這是否可能。

另外,是否可以在一個項目中有多個cypress.json文件?

任何建議將不勝感激。

這是一個數據服務提供商的"env"變量示例。

{
    "env": {
        "dataService": "XXDataService",
        "companyRegNo": "XX4457ZZ",
        "language": "EN",
        "countryCode": "UK",
        "companyType": "Ltd",
        "companySearchName": "",
        "searchParams": "",
        "reportParams": "",
        "username": "",
        "password": "",
    }
}

我遇到了同樣的問題,終於制作了自己的插件。

賽普拉斯模板固定裝置

用法

  1. npm i -D cypress-template-fixtures
  2. 添加require('cypress-template-fixtures')(on, config); cypress/plugins/index.js中。
module.exports = (on, config) => {
  require('cypress-template-fixtures')(on, config); // Add this line
  return config;
};
  1. 將生成的夾具文件夾cypress/fixtures.out/添加到.gitignore中。
  2. cypress/fixtures目錄中的普通燈具文件中使用{{VAR_NAME}}

cypress/fixtures/example.json

{
  "name": "{{NAME}}",
  "title": "{{TITLE}}",
  "email": "{{EMAIL}}",
  "body": "{{BODY}}"
}
  1. cypress.jsoncypress.env.json中提供VAR_NAME
  2. 或者在系統或cypress-dotenv 中提供 CYPRESS_VAR_NAME CYPRESS_VAR_NAME

在此處閱讀更多文檔

參考Option-2-cypress-env-json

您可以創建自己的cypress.env.json文件,Cypress 會自動檢查該文件。 此處的值將覆蓋配置文件中的沖突環境變量(默認為cypress.json )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM