繁体   English   中英

任务.等待错误

[英]Task.Wait error

我正在运行 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 cancelationToken) 在 System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout) 在 Diplomat.Enav。 Web.Selenium.Tests.Common.Mailer.SendResults(List`1 states, Boolean waitForCompletion) in d:\\TeamCity\\buildAgent\\work\\a367a3eda4cbbd88\\Diplomat.Enav.Web\\Diplomat.Enav.Web.Selenium.Tests\\Common\\ Mailer.cs:line 59 at Diplomat.Enav.Web.Selenium.Tests.Common.SeleniumStatus.SendCompletionEmail() in d:\\TeamCity\\buildAgent\\work\\a367a3eda4cbbd88\\Diplomat.Enav.Web\\Diplomat.Enav.Web.Selenium Tests\\Common\\SeleniumStatus.cs:line 182 at Diplomat.Enav.Web.Selenium.Tests.GlobalFixture.RunAfterAnyTests() in d:\\TeamCity\\buildAgent\\work\\a367a3eda4cbbd88\\Diplomat.Enav.Web\\Diplomat.Web.Enav Selenium.Tests\\Common\\GlobalFixture.cs:line 39

给出此错误的代码是

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

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

试试你用

Thread.Sleep(5000);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM