2011-12-22 105 views
0

我用編碼的UI來運行測試並獲得命名爲喜歡qian_machinename 2011-12-21 14_26_10測試結果文件。我想閱讀文件併發送測試報告。我的問題是每次運行測試時如何獲取文件時間?編碼的UI測試結果文件

+0

您能否更具體地瞭解您的操作步驟。我的意思是,你如何生成測試文件。爲什麼不能將時間選擇作爲文件的文件名存儲到另一個可以選擇文件並生成報告的代碼中。 請提供更清楚的信息。謝謝 – Zenwalker 2011-12-22 03:10:05

+0

你想要文件一旦創建? – 2011-12-22 03:16:05

+0

@zenwalker 對不起,不清楚。我的代碼結構是這樣的: [測試評判] 公共無效測試() {...} 隨後的方法調用的測試方法。然後測試會自動運行,然後由VS2010自動創建測試結果文件。我只想要一種獲取生成的文件名的方法,或者如果我可以重命名文件,它會很棒。 – QianLi 2011-12-22 03:51:27

回答

1

TestContext有3個屬性,您可以使用 1. TestDir 2. TestDeploymentDir 3. TestResultsDirectory。

您可以使用這些屬性來定位到你感興趣的文件夾,然後讓你的處理結果文件。

+0

謝謝,這些屬性確實有我需要的信息。 「對象引用不設置到對象的實例」但我嘗試和發現其他問題,我不能使用這些屬性[測試評判]之外的和錯誤消息是我的代碼是這樣的: 公共類測試 { public string resultFile = null; [試驗方法] 公共無效T1() { INT I = 1; Asser.AreEqual(i,1); resultFile = TestContext。TestResultsDirecroty; } } 你能幫忙嗎?謝謝 – QianLi 2011-12-23 01:35:28

1

千里,

也許你可以通過使用測試輸出文件名已知預修正得到正確的輸出文件。

在Visual Studio導航測試 - >編輯測試設置 - >(選擇當前.testsettings) - >常規

在顯示你會看到一個區域,用來命名方案的提示。默認情況下,這被設置爲命名您的輸出文件「USER @ MACHINE DATE TIME」。您可以創建一個用戶定義的方案和使用,後來找到該文件即商店「MyTestOuput」​​作爲預固定,然後在代碼中,如果需要,可以檢查該文件的創建日期/時間來驗證你有正確的輸出。

Screenshot of Visual Studio 2010 TestSettings

1

使用類似: 的FileName = testContext.ResultsDirectory + 「\」 + testContext.TestName.ToString()+ 「擴展」。

  1. 測試名應該是名稱testMethod就像「T1」一樣。
  2. 擴展名可以是任何有效的文件類型,例如.xml等
0
[TestCleanup()] 
    public void MyTestCleanup() 
    { 
     string nomfichiersource = "UITestActionLog.html"; 
     string nomTest = TestContext.TestName.ToString(); 
     string sourcefile = System.IO.Path.Combine(TestContext.TestResultsDirectory, nomfichiersource); 
     string destfile = System.IO.Path.Combine(@"X:\Temp", nomTest + ".html"); 
     System.IO.File.Copy(sourcefile, destfile); 
    }