2010-07-09 57 views
0

我寫了一個VSTS數據驅動的測試用例。我需要爲個別測試用例更新IE代理設置。我寫的代碼下面一行以更改代理如何動態更改IE代理設置

RegistryKey reg = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections", true); 
string va = reg.GetValue("DefaultConnectionSettings").ToString(); 
reg.SetValue("DefaultConnectionSettings", @"hex:3c,00,00,00,15,00,00,00,01,00,00,00,0e,00,00,\00,31,32,37,2e,30,2e,30,2e,31,3a,38,30,38,30,09,00,00,00,6c,6f,63,61,6c,68,\6f,73,74,0b,00,00,00,31,31,31,2e,31,31,2e,31,31,31,31,01,00,00,00,00,00,00,\00,30,fd,35,de,8d,27,c6,01,03,00,00,00,c0,a8,01,73,c0,a8,b8,01,c0,a8,85,01,\00,00,00,00,00,00,00,00 "); 

RegistryKey RegKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true); 
RegKey.SetValue("ProxyServer", "proxyvalue"); 
RegKey.SetValue("ProxyEnable", 1); 

它改變了第一次測試的情況下,代理,但它不會從第二次測試csaes改變。

請幫助確定我在這裏做錯了什麼。

回答

0

其實我沒有測試它,但我認爲IE只會在啓動時讀取註冊表值。因此,確保在更改這些值並開始新測試之前關閉全部 IE進程。

+0

我沒有直接調用任何IE進程,但我使用了Process類,它調用了一些命令行工具,這個工具打開IE。我試圖在每個測試用例運行後關閉該進程。它並不能解決我的問題。 – 2010-07-09 08:09:50