1

我正在使用 MSTest - C#-Selenium运行一套测试。如果有一个失败的步骤,我正在截屏并希望将其与 trx 文件一起上传(附加),

当我将它作为几个测试的单个测试运行并且结果与附件一起运行时,一切都很好。

但是当我并行运行测试时,即使测试失败,我也无法看到带有附件的结果文件

我在 trx 文件中得到以下信息

TestContext 消息:值不能为空。参数名称:路径

我用来将文件附加到 trx 文件的代码是

Screenshot screenShot = ((ITakesScreenshot)driver).GetScreenshot();
string fileName = fullFilePath + "Screenshot_" + driver.testContext.TestName + DateTime.Now.ToString("yyyy-dd-MM-HH-mm-ss")+".png";
screenShot.SaveAsFile((fileName), ImageFormat.Png);                
driver.testContext.AddResultFile(fileName);

任何我出错的指针。我在谷歌搜索时看到了几个链接,他们提到这是一个已知问题。我可以做些什么来解决这个问题。

任何指针都会非常有帮助。谢谢

4

1 回答 1

1

我的2美分...

下面的代码解决了这个问题...

            Directory.CreateDirectory(MyWebDriver.testContext.TestResultsDirectory);
            Screenshot screenShot = ((ITakesScreenshot)MyWebDriver).GetScreenshot();
            string fileName = MyWebDriver.testContext.TestResultsDirectory+"\\Screenshot_" + MyWebDriver.testContext.TestName + DateTime.Now.ToString("yyyy-dd-MM-HH-mm-ss")+".png";
            screenShot.SaveAsFile((fileName), ImageFormat.Png);                

请注意,MyWebDriver 是为我的项目需求量身定制的 Selenium WebDriver 的扩展。

有关此问题的原因,请参阅以下链接。

https://connect.microsoft.com/VisualStudio/feedback/details/1062039/value-cannot-be-null-parameter-name-path-in-test-result-when-running-tests-in-parallel-and-使用 addresultfile 将文件添加到测试上下文

于 2016-07-21T04:52:19.577 回答