簡體   English   中英

TFS2015測試代理已終止-PowerShell腳本已完成,但出現錯誤

[英]TFS2015 Test Agent Aborted - PowerShell script completed with errors

我正在運行一個TFS夜間構建,該構建在過去幾天中無法完成其所有測試。 數小時后失敗,並顯示“測試運行已中止”消息。 在此之前,測試始終成功運行,並且未對運行這些測試的系統進行重大更改(甚至較小的更改)。

信息:

  • 在構建中運行兩個MStest(單元測試)
  • 超時設置為20小時
  • 運行約。 失敗前15小時
  • 測試將設置為繼續失敗

當我在TFS日志中查找最新運行時,它將列出以下內容(2017-04-11T06:42:47.5500707Z):

[warning] DistributedTests:測試運行被中止。 記錄運行日志的詳細信息。 [warning] DistributedTests:創建了新的測試運行。
[warning]測試運行已排隊等待Project Collection Build Service
[warning] DistributedTests:測試發現已開始。
[warning] DistributedTests:測試運行發現已完成。 測試運行ID:533
[warning] DistributedTests:發現290個測試用例。
[warning] DistributedTests:測試執行開始。 測試運行ID:533
[warning] DistributedTests:測試運行超時。 測試運行ID:533
[warning] DistributedTests:測試運行已中止。 測試運行ID:533
[錯誤]測試運行已中止,導致任務失敗。

當我查看運行日志(worker_20170410-234426-utc_864.log)時,我看到:

06:42:47.659516 BaseLogger.LogConsoleMessage(scope.JobId = 7ced7f31-e360-47f3-b334-ef20faeaf000,消息= ## [錯誤]測試運行已中止,任務失敗。)06:42:47.659516 Microsoft.TeamFoundation。 DistributedTask.Agent.Common.AgentExecutionTerminationException:PowerShell腳本已完成,但有錯誤。 在Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext上下文,TaskWrapper任務,CancellationTokenSource tokenSource)在Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext上下文,CancellationToken cancelleToken)

測試日志中 ,我看不到VS中的任何錯誤,只是關於無法連接的警告(我經常看到這些錯誤):

W,2060,5,2017/04/10,16:26:03.595,XXXTESTING \\ QTController.exe,LoadTestResultConnectString的測試失敗:建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱正確,並且已將SQL Server配置為允許遠程連接。 (提供者:SQL網絡接口,錯誤:26-指定服務器/實例時出錯)

我還同時看到了在應用程序事件日志中引發的錯誤:

找不到源應用程序中事件ID 0的描述。 引發此事件的組件未安裝在本地計算機上,或者安裝已損壞。 您可以在本地計算機上安裝或修復組件。

如果事件起源於另一台計算機,則顯示信息必須與事件一起保存。

該事件包括以下信息:

錯誤處理程序異常:System.ServiceModel.CommunicationException:從管道讀取錯誤:管道已結束。 (109,0x6d)。 ---> System.IO.IOException:讀取操作失敗,請參閱內部異常。 ---> System.ServiceModel.CommunicationException:管道讀取錯誤:管道已結束。 (109,0x6d)。 ---> System.IO.PipeException:管道讀取錯誤:管道已結束。 (109,0x6d).....

消息資源存在,但在字符串/消息表中找不到消息

問題是我真的不知道如何解釋這些消息,每個日志都只說“測試運行被中止,任務失敗”,我什至不確定powershell問題是由什么引起的。 我也不確定在應用程序日志中引發的錯誤是否與之相關,盡管它是在運行失敗的同一時間引發的。

當您真的不知道導致測試代理失敗的原因時,也很難研究這個問題。 有一些與VS有關的帖子,也有與TFS測試代理有關的帖子,但是這些帖子對我來說並不重要,當然,關於Powershell消息,這當然有些無用。

有人以前見過這種問題嗎? 我認為最近幾天構建服務器上的任何內容都沒有發生變化(也許正在更新...),您認為會導致什么問題發生?

如果您在TFS的“構建”部分中查看失敗的構建(包含測試)后發現失敗,它會說它已“中止”,就是這樣...如果您在以下位置查看構建(包含測試)的結果, TFS的“測試”部分指定測試運行“超出超時”。

顯然,MSTest正在運行此小gem的默認值。 我認為未指定時默認為8個小時,但是對此我不太確定。 無論如何,我在“ Default.testsettings”文件中設置了以下設置:

<?xml version="1.0" encoding="utf-8"?>  
<TestSettings name="TestSettings1">
  <Execution>
    <Timeouts runTimeout="200000000" />
  </Execution>
</TestSettings>

似乎可以解決問題。 測試成功運行,不再超時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM