現在,我的編碼UI測試使用它們的app.config來確定它們執行的域,它與環境具有1-1的關係。爲了簡化計算:在多種環境下執行編碼的UI測試
- www.test.com
- www.UAT.com
- www.prod.com
和App.config中我有類似:
<configuration>
<appSettings>
<add key="EnvironmentURLMod" value ="test"/>
爲了在不同的環境下運行測試,我手動更改了運行之間的值。比如我這樣打開瀏覽器:
browserWindow.NavigateToUrl(new Uri("http://www."
+ ConfigurationManager.AppSettings.Get("EnvironmentURLMod")
+ ".com"));
顯然這樣不雅。我想我有一個願景,我們會爲每次運行放入一個新的app.config,但作爲擾流器,這個測試將在〜10個環境中運行,而不是3個,並且它可能運行的環境可能會改變。
我知道我可以分離這些環境URL修改另一個XML文件,並測試順序訪問它們在data-driven scenario。但即使這似乎不是我所需要的,因爲如果一個環境失敗了,那麼整個測試就會崩潰。我已經看到Environment Variables作爲一個建議,但這需要爲每個環境創建一個測試代理,修改其註冊表,並在每個環境中運行測試。如果確實如此,但它看起來像是一個巨大的虛擬機帶寬,用於收集字符串。
在一個理想的世界,我想這些URL MODS綁成類似測試設置,MTM環境,或構建。我想爲每個域執行一套測試並單獨報告。
總之,參數化這些測試的最佳方法是什麼?有沒有一種方法不涉及排隊新建或刪除配置文件?數據驅動測試的答案是什麼?我是否錯誤地構建了我的解決方案?這似乎應該是這樣一個常見的情況,但我的谷歌搜索並不能讓我在那裏。
任何及所有的幫助表示讚賞。