Task.Wait错误

时间:2015-10-02 18:25:37

标签: c#

我正在运行Selenium测试。所有测试运行正常,但是当我尝试发送完成邮件时它给出了错误。当我在本地运行VS2015但在我运行时返回错误时代码正常运行来自TeamCity。

我使用C#和Chromedriver作为技术堆栈。

代码返回错误。

  

Diplomat.Enav.Web.Selenium.Tests.dll:Diplomat.Enav.Web.Selenium.Tests.GlobalFixture   TearDown方法失败。发生了一个或多个错误。      在System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)      在System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,CancellationToken cancellationToken)      在System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout)      at Diplomat.Enav.Web.Selenium.Tests.Common.Mailer.SendResults(List`1 states,Boolean waitForCompletion)在d:\ TeamCity \ buildAgent \ work \ a367a3eda4cbbd88 \ Diplomat.Enav.Web \ Diplomat.Enav.Web.Selenium .Tests \ Common \ Mailer.cs:第59行      在Diplomat.Enav.Web.Selenium.Tests.Common.SeleniumStatus.SendCompletionEmail()的d:\ TeamCity \ buildAgent \ work \ a367a3eda4cbbd88 \ Diplomat.Enav.Web \ Diplomat.Enav.Web.Selenium.Tests \ Common \ SeleniumStatus。 cs:第182行      在Diplomat.Enav.Web.Selenium.Tests.GlobalFixture.RunAfterAnyTests()在d:\ TeamCity \ buildAgent \ work \ a367a3eda4cbbd88 \ Diplomat.Enav.Web \ Diplomat.Enav.Web.Selenium.Tests \ Common \ GlobalFixture.cs:第39行

发出此错误的代码是

Task sendMailTask = smtp.SendMailAsync(message);
if (waitForCompletion)
    sendMailTask.Wait(5000);

执行sendMailTask.Wait(5000)时,它返回错误。

1 个答案:

答案 0 :(得分:-1)

尝试使用

Thread.Sleep(5000);

但这是一个糟糕的方式。最好等待一些消息将显示在页面上。