共用方式為


當您嘗試設定測試代理程式時,測試代理程式設定失敗

本文可協助您解決當您嘗試設定測試代理程式與控制器服務通訊時所發生的錯誤。

原始產品版本:Visual Studio Test Professional 2012 Visual Studio Test Professional 2010
原始 KB 編號: 2823477

徵狀

請試想下列案例:

  • 測試控制器會在已加入網域的電腦上執行,且電腦的 DNS 後綴為 contoso.com。 測試代理程式會在工作組電腦上執行,而工作組機器的 DNS 後綴為 fabrikaam.com

  • 這兩部機器可以使用完整功能變數名稱彼此偵測。

  • 控制器和代理程式服務的必要埠有防火牆例外狀況。

在上述案例中,測試代理程式組態工具在嘗試設定代理程式與控制器服務通訊時失敗。 如 如何啟用測試代理程式記錄 中所述的測試代理程式組態記錄會顯示下列錯誤:

I, 2013/02/08, 11:18:22.791, CreateControllerObject: attempt 0, System.Net.Sockets.SocketException (0x80004005): No such host is known

Server stack trace:
at System.Net.Dns.GetAddrInfo(String name)
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
at System.Runtime.Remoting.Channels.RemoteConnection.GetSocket()
at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.VisualStudio.TestTools.Controller.ControllerObject.Hello()
at Microsoft.VisualStudio.TestTools.ConfigCore.TestControllerHelper.CreateControllerObject(String controllerUri)
I, 2013/02/08, 11:18:22.918, CreateControllerObject: attempt 1, System.Net.Sockets.SocketException (0x80004005): No such host is known

原因

如果發生下列情況,就會發生此問題:

  1. 我們會在測試代理程式組態工具的測試控制器 URI 中,為測試控制器機器提供完整域名。

  2. 測試代理程式和測試控制器機器無法只使用電腦主機名彼此通訊,因此像是 foo 而不是 foo.contoso.com。 良好的測試是只從測試控制器機器偵測測試代理程式計算機主機名,反之亦然。

解決方案

若要解決此問題,我們必須將控制器計算機的網域 DNS 後綴附加至測試代理程式計算機上 NIC 的 TCP\IP 設定,反之亦然。

測試代理程式機器) 上的步驟 (:

  1. 在代理程式計算機上開啟 NIC\Lan 卡片屬性。

  2. 選取 [因特網通訊協定第 4 版 (TCP/IP v4) 並選取 屬性

  3. 在 [ 因特網通訊協定第 4 版 (TCP/IP v4) ] 對話框的 [ 一般 ] 索引卷標上,按兩下 [ 進階]

  4. 在 [ 進階 TCP/IP 設定 ] 對話框中,選取 [將 這些 DNS 後綴附加 (的選項,)

  5. 按兩下 [新增 ],然後在 [ TCP/IP 網域後綴 ] 對話框中,提供測試控制器網域的 DNS 後綴,然後按兩下 [ 新增]

  6. 按兩下 [進階 TCP/IP 設定] 對話框中的 [確定]。

  7. 按兩下 [因特網通訊協定第 4 版 (TCP/IP v4) ] 對話框中的 [確定]。

在測試控制器電腦上重複相同的步驟。

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群