2011-12-22 81 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); 
    }