我們一直在使用我們的登臺環境構建我們的自動化套件,但即將上線并希望準備好告訴專案在哪里運行(登臺,生產)。
環境中站點之間的唯一區別是 URL。我的問題是,從頭到尾,如何通過 CLI 選項設定 .page URL?
現在,我已經創建了一個環境組態檔來保存我們的臨時和生產 URL,然后我將資料呼叫到我的測驗檔案中。現在這很好,但我需要創建一個帶有選項的腳本,可以在運行時設定環境,而不必在啟動它之前進行手動查找和替換。
我在網上環顧四周,發現我認為是代碼片段和一般說明,但我本質上不是一個開發人員,并且對它產生了交叉眼。如果我能為此獲得 ELI5,那就太棒了。
我現在正在做的示例:
const env = require('../environment_variables.json')
fixture `blog`
.page `${env.production}`
然后我在開始套件之前手動將生產更改為暫存,反之亦然。
由于該專案將從 CICD 運行,我希望能夠在我的 CLI 和腳本中執行以下操作:
testcafe env=production
然后將在每個測驗檔案的 .page 呼叫處設定 env 值。
謝謝!
uj5u.com熱心網友回復:
有不同的方法可以做到這一點。我在這種情況下成功地使用了環境變數,所以我會分享這個解決方案,因為它可以解決你的問題。
我config.json在專案的根目錄中創建:
{
"baseUrl": {
"dev": "https://dev.com/",
"staging": "https://staging.com/",
"prod": "https://prod.com/"
}
}
然后我在某處創建了兩個輔助函式,例如Helpers/env.js:
import config from '../config';
function getEnv () {
return process.env.TESTCAFE_ENV;
}
function getBaseUrl () {
return config.baseUrl[getEnv()];
}
export { getEnv, getBaseUrl };
然后在我的測驗檔案中Tests/:
import { getBaseUrl } from '../Helpers/env';
const baseUrl = getBaseUrl();
fixture `Test Suite`
.page(baseUrl);
就是這樣。然后當我需要在 dev 上運行測驗時,我執行:
$ TESTCAFE_ENV=dev testcafe
分期:
$ TESTCAFE_ENV=staging testcafe
和生產:
$ TESTCAFE_ENV=prod testcafe
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/322678.html
標籤:javascript 测试 环境变量 命令行界面 测试咖啡馆
上一篇:當2個測驗用例失敗時,GitabCI管道中的測驗標記為通過
下一篇:如何在孩子中擴展父母的財產
