我正在运行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)
时,它返回错误。
答案 0 :(得分:-1)
尝试使用
Thread.Sleep(5000);
但这是一个糟糕的方式。最好等待一些消息将显示在页面上。