2013-04-04 52 views
4

我有一個CodedUiTest,它有幾種測試方法。我希望每次通過MSTest從命令行執行時都能通過不同的路徑進行測試。我怎樣才能做到這一點?將參數傳遞給使用MSTest.exe從命令行運行的編碼UI測試

這是我現在該怎麼執行測試:

{ 
    System.Diagnostics.Process codedUIProcess = new System.Diagnostics.Process(); 
    System.Diagnostics.ProcessStartInfo codedUIStartInfo = new System.Diagnostics.ProcessStartInfo(); 

    codedUIStartInfo.FileName = @"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe"; 
    codedUIStartInfo.Arguments = @"/testcontainer:C:\DailyBuildAutoTest.dll /test:MyUITestAssembly\MyCodedUITest"; 
    codedUIStartInfo.CreateNoWindow = true; 

    codedUIProcess.StartInfo = codedUIStartInfo; 

    codedUIProcess.Start(); 
} 

是否有任何的方式來傳遞參數,如字符串爲「MyCodedUITest」?

回答

1

不,不幸的是,沒有辦法做到這一點。檢查MSTest Command-Line Options

我能想到的唯一可能的方法是將CodedUi TestsTest Cases關聯起來並從Microsoft Test Manager運行它們。

然後,您可以通過adding parameters to test cases輕鬆參數化測試。這些參數是相關測試的DataSource,您可以read them from your CodedUi Test

+0

不幸的是,手動執行測試不是一個選項。 – 2013-04-04 13:47:22

+0

它們不是手動執行的。您可以使用多個測試用例創建測試計劃。如果測試用例已經分配了自動化測試,那麼他們將自動進行測試。檢查[正在運行自動測試](http://msdn.microsoft.com/en-us/library/dd286580.aspx)。 – Schaliasos 2013-04-04 14:04:52

+0

您可以將您的依賴關係保存爲txt或csv格式,並將邏輯讀取爲測試的第一部分。我們按照同樣的方式設置測試的環境變量。 – 2015-07-24 10:02:08

1

您可以在調用mstest之前設置一個環境變量,然後使用它的值來生成路徑字符串嗎?

1

如果要更改測試容器或mstest.exe的路徑,可以使用帶有路徑參數的bat文件,並從進程執行bat文件。

string _myBatchFile = "batFileFullPath; 
string _testContainer = "DllfileFullpath"; 
string _testMethodName = "testMethodName"; 
string _result = "resulFileName.trx"; 
Process _process = new Process(); 

_process.StartInfo.Arguments = string.Format("{0} {1} {2}", "\"" + _testContainer + "\"", _result, "\"" + _testMethodName + "\""); 
         _process.StartInfo.FileName = _myBatchFile; 
         _process.Start(); 
         _process.WaitForExit(); 

如果路徑之間和之後包含空格,請在路徑前後使用引號字符。否則,將它們作爲參數發送到bat文件會是一個問題。

創建一個像下面這樣的bat文件,由進程調用它。

@ECHO on 

"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\mstest.exe" /testcontainer:%1 /test:%3 /resultsfile:%2 
0

是的。現在MSTest中沒有選項可以傳遞參數,但是我已經在我的項目中實現了這些工作。您需要傳遞的任何參數都可以保存在文本文件中(或者可以保存在數據庫中),並在執行測試用例時從文本文件中獲取參數值。

相關問題