2016-02-15 56 views
0

從QTAgentService.exe.config訪問和讀取應用程序設置密鑰我需要從QTAgentService.exe.config文件中讀取並設置鍵「ControllerConnectionPeriodInSeconds」的值(該文件位於C:\ Program文件(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE)。如何從代碼

閱讀關於這裏ControllerConnectionPeriodInSeconds: https://msdn.microsoft.com/en-us/library/ff934570.aspx

我似乎無法找到任何方式來獲得在上面代碼中的值。 System.Configuration.ConfigurationManager.AppSettings也沒有幫助。

任何幫助將不勝感激!

謝謝!

回答

0

Anu,

這裏有幾個選項。如果您正在代理上運行測試,則需要修改代理機器上的配置。

您可以通過CodedUI測試來做到這一點,或者真的用C#庫進行任何測試。如果您需要永久修改它,我只需手動完成。如果您需要爲單個測試設置特定值,則可以在此處執行此操作。

你會想要使用目錄庫和可能一些輔助方法/類來實際改變配置文件。那具體實在是太激烈了一個SO回答,但這裏是你如何可以在測試開始時加載文件的示例:

string path = Path.GetFullPath("C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\QTAgentService.exe.config"); 
browserWindow = BrowserWindow.Launch(new Uri(path)); 

而不是獲取當前的目錄,你可以硬編碼或更好的是在app.config中定義該字符串(「C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE」)。然後,您將不得不使用C#XML解析器和XPath來修改所需的值。我在我的GitHub上有一些示例代碼,但它非常簡單。

祝你好運!我還必須在CodedUI測試中做一些瘋狂的事情。

+0

Ryan, 謝謝您的回覆!我有一個類似於你我的想法的解決方案,但我希望有一些DLL或屬性,我可以用它來獲取值而無需執行上述操作。但是,謝謝你!我會嘗試這個並回復你! – Anu7

+0

是的,如果你碰巧發現任何關於DLL或屬性的東西我可以使用 - 請讓我知道! – Anu7