Hyper-V

執行 Selenium 測試時無法通過虛擬機連接到 SQL

  • May 16, 2019

作為背景故事的序言,有一天我剛剛啟動了我的虛擬機,但我無法執行測試。我們將其設置為事先執行,一切都很好。

我們目前的設置是我在我的主機上執行我的本地實例 SQL Server DB,並讓 selenium 架構師項目與 NUnit 一起通過 VM 執行。我們使用 Visual Studio 作為我們的 IDE 和 C# 程式語言。

現在,當我使用 NUnit GUI Runner 啟動測試時,瀏覽器打開瀏覽器打開,測試立即失敗,說明

ActivitySummaryReportTestFixture.GenerateActivitySummaryReport_EvalPosted_TotalVisitsEqualOne:
SetUp : System.Data.SqlClient.SqlException : A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
 ----> System.ComponentModel.Win32Exception : The network path was not found

通過一些故障排除**,我嘗試從 VM ping 主機伺服器,但它說找不到**。所以在這一點上,我必須假設我的虛擬機和主機能夠相互交談存在問題。如果有人可以提供幫助或需要更多資訊,請告訴我謝謝。

如果有人問我正在執行 Windows10 Pro 並使用 Hyper-V

Hyper-V VM 和主機在彼此看來是完全獨立的機器。將此調試為任何兩台機器無法通過網路相互通信。

該錯誤表明您正在嘗試連接到 SQL 實例。確保將 SQL Server 配置為允許遠端連接。

  1. 打開 SQL Server 管理工作室
  2. 連接到 SQL Server 實例
  3. 右鍵點擊對象資源管理器中的實例並選擇屬性
  4. 選擇連接
  5. 勾選“允許遠端連接”

還要確保在防火牆上打開埠 1433,因為這是 SQL Server 使用的預設埠。

引用自:https://serverfault.com/questions/911499