![](/img/trans.png)
[英]how to override an environment variable for different test cases in nodeJS?
[英]Organizing the test cases for 3 environment
我是量角器的新手。 我已經為開發環境創建了測試用例,並且工作正常。 現在,我必須移動生產和質量檢查的測試用例。
由於3環境中的代碼相同,所以我不想為所有3環境創建重復的代碼。
簡而言之,如果我運行開發代碼,我應該這樣做
protractor conf.js -dev
用於生產
protractor conf.js -production.
-dev和-production是各自的URL。 誰能告訴我我可以實現的方法? 還是應該為3種環境創建3個conf.js文件?
最好的方法是,僅在從命令提示符運行量角器時發送環境類型(QA,DEV,PROD),然后再運行,您需要在conf.js文件上添加params部分,如下所示:
1對conf.js :
params: {
environment:null
}
通過命令提示符進行2遍環境值
protractor --params.environment='QA' conf.js
根據環境值,您可以在以下位置將url分配給baseUrl參數:
onPrepare:function(){
if(browser.params.environement=QA){
browser.baseUrl="QA URL"
}
else{
browser.baseUrl="PROD URL"
}
};
將其作為命令行選項傳遞。
protractor --baseUrl='http://www.productionUrl.com' conf.js
使用命令行參數還將覆蓋配置文件中的所有設置。 因此,如果您的配置文件具有設置baseUrl='http://www.test.com'
,它將使用您在命令行中傳遞的Url而不是配置文件。
不過,這是個人喜好,我自己有幾個配置文件(不同的瀏覽器,環境等)。 我有95%的時間使用相同的配置,但是偶爾讓其他人快速訪問特定的瀏覽器/環境/任何東西,這是很好的。 另外,我不必輸入太多:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.