2012-03-28 85 views
19

我已提取從硒IDE以下代碼它(硒)。(C#遠程控制)無連接可以作出,因爲目標機器積極拒絕

using System; 
using System.Text; 
using System.Text.RegularExpressions; 
using System.Threading; 
using NUnit.Framework; 
using Selenium; 

namespace SeleniumTests 
{ 
[TestFixture] 
public class MyFirstVCTest 
{ 
    private ISelenium selenium; 
    private StringBuilder verificationErrors; 

    [Test] 
    public void TheNewTest() 
    { 
     selenium.Open("/"); 
    } 

    [SetUp] 
    public void SetupTest() 
    { 
     selenium = new DefaultSelenium("localhost", 4444, "*chrome","http://demo.volunteercampaigns.com/"); 
     selenium.Start(); 
     verificationErrors = new StringBuilder(); 
    } 

    [TearDown] 
    public void TeardownTest() 
    { 
     try 
     { 
      selenium.Stop(); 
     } 
     catch (Exception) 
     { 
      // Ignore errors if unable to close the browser 
     } 
     Assert.AreEqual("", verificationErrors.ToString()); 
    } 

    [Test] 
    public void TheMyFirstVCTest() 
    { 
     selenium.Open("/?AspxAutoDetectCookieSupport=1"); 
     selenium.Click("link=Login"); 
     selenium.WaitForPageToLoad("30000"); 
     selenium.Type("id=ctl00_ContentPlaceHolder1_txtEmailAddress", "[email protected]"); 
     selenium.Type("id=ctl00_ContentPlaceHolder1_txtPassword", "orbs123"); 
     selenium.Click("id=ctl00_ContentPlaceHolder1_btnlogin"); 
     selenium.WaitForPageToLoad("30000"); 
     selenium.Click("id=ctl00_lblUserName"); 
     selenium.Click("id=ctl00_lnkSignOut"); 
     selenium.WaitForPageToLoad("30000"); 
    } 
} 
} 

我創建了一個網頁表單,並添加一個按鈕存在。

在按鈕單擊事件我寫了這個代碼

SeleniumTests.MyFirstVCTest m = new SeleniumTests.MyFirstVCTest(); 
    m.SetupTest(); 
    m.TheMyFirstVCTest(); 
    m.TeardownTest(); 

我包括所有的.dll文件。它運行良好(沒有錯誤和警告)。

但點擊按鈕後,我收到以下錯誤

No connection could be made because the target machine actively refused it 127.0.0.1:4444 

我應該怎麼辦?

在此先感謝..

注意給觀衆:這篇文章可以幫助你:No connection could be made because the target machine actively refused it

回答

8

「......目標機器積極地拒絕它」指的是服務器可以達到和內迴應超時,但指定的端口未打開。這可能有幾個原因,例如本地防火牆阻止連接。你確定服務器正在監聽正確的IP /端口嗎?

+0

該端口號(4444)我defaultly硒IDE了。 – 2012-03-28 07:47:54

+0

該端口不一定是錯誤的,但它可能仍然被阻塞(例如,某些個人防火牆會阻止所有與本地主機的本地TCP/IP連接)。您是否嘗試過使用ssh或telnet等簡單工具訪問它? – Mario 2012-03-28 07:49:18

+0

不知何故現在錯誤更改爲「無法連接到遠程服務器」。 Wats呢? – 2012-03-28 07:49:24

3

要爲讀者增添更加清晰:用以下基本步驟啓動硒服務器:

  • 下載硒官方硒-server獨立下載 頁。
    • 打開命令提示符。
    • 使用「Cd」導航到文件夾。
    • 添加此命令:「java - jar」。
    • 點擊進入。
    • Selenium服務器將啓動。
+0

感謝您的回覆。你在上面說的解釋清楚這裏:http://coding-issues.blogspot.com/2012/11/no-connection-could-be-made-because.html – 2013-07-24 06:49:09

+1

對我來說,這是解決方案。cmd然後java -jar selenium-server-standalone-2.35.0.jar – StacyM 2013-09-15 02:19:13

0

確保遠程計算機上的哪些腳本來運行啓動並工作。其次確保chrome驅動程序和chrome更新。最後沒有防火牆阻止對遠程機器的訪問。

PS:手動關閉硒服務器並重新啓動它。

3

我得到相同的錯誤,但在不同的代碼行上。希望這可以幫助某個人,即使它不回答最初的問題。

public override void SetupTest() 
    { 
     Driver = new FirefoxDriver(); 
     base.SetupTest(); 
    } 

我使用webdriver的(我不運行硒服務器),以及FirefoxDriver的構造函數拋出異常。

有時我得到這個異常:

A first chance exception of type 'System.Net.Sockets.SocketException' occurred in System.dll 
Additional information: No connection could be made because the target machine actively refused it 

這個調用堆棧:

WebDriver.dll!OpenQA.Selenium.Firefox.Internal.ExtensionConnection.ConnectToBrowser(System.TimeSpan timeToWait) Line 247 C# 
    WebDriver.dll!OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start() Line 98 C# 
    WebDriver.dll!OpenQA.Selenium.Firefox.FirefoxDriver.StartClient() Line 237 C# 
    WebDriver.dll!OpenQA.Selenium.Remote.RemoteWebDriver.RemoteWebDriver(OpenQA.Selenium.Remote.ICommandExecutor commandExecutor, OpenQA.Selenium.ICapabilities desiredCapabilities) Line 89 C# 
    WebDriver.dll!OpenQA.Selenium.Firefox.FirefoxDriver.FirefoxDriver(OpenQA.Selenium.Firefox.FirefoxBinary binary, OpenQA.Selenium.Firefox.FirefoxProfile profile, OpenQA.Selenium.ICapabilities capabilities, System.TimeSpan commandTimeout) Line 172 C# 
    WebDriver.dll!OpenQA.Selenium.Firefox.FirefoxDriver.FirefoxDriver(OpenQA.Selenium.Firefox.FirefoxBinary binary, OpenQA.Selenium.Firefox.FirefoxProfile profile, System.TimeSpan commandTimeout) Line 167 C# 
    WebDriver.dll!OpenQA.Selenium.Firefox.FirefoxDriver.FirefoxDriver(OpenQA.Selenium.Firefox.FirefoxBinary binary, OpenQA.Selenium.Firefox.FirefoxProfile profile) Line 154 C# 
    WebDriver.dll!OpenQA.Selenium.Firefox.FirefoxDriver.FirefoxDriver(OpenQA.Selenium.Firefox.FirefoxProfile profile) Line 132 C# 
    SetupTest() Line 513 C# 

有時我得到這個異常:

A first chance exception of type 'System.Net.Sockets.SocketException' occurred in System.dll 
Additional information: Only one usage of each socket address (protocol/network address/port) is normally permitted 

這個調用堆棧:

WebDriver.dll!OpenQA.Selenium.Firefox.Internal.ExtensionConnection.DetermineNextFreePort(string host, int port) Line 161 C# 
    WebDriver.dll!OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start() Line 88 C# 
    [same as above] 

但我最初並沒有意識到的一件事是,如果你繼續執行(F5),一切都很好。該異常必須在WebDriver中處理。

的唯一的事情是,我有DEBUG /異常/ CLR異常:時拋出[檢查]。 只需取消選中,所有內容都不會投擲/中斷。花了我一段時間才意識到這一點。以前的調試會話的剩餘部分...

1

我得到這個是因爲我的代碼的一部分持有對過時驅動程序的引用。

var driver1 = new OpenQA.Selenium.Firefox.FirefoxDriver(); 
driver1.Close(); 
driver1.Quit(); 
driver1.Dispose(); 

var x = driver1.FindElements(...); 
1

這就是我這樣做,我班的結構。

[TestFixture, Parallelizable(ParallelScope.None)] 
public class UserTest : BaseTestClass 
{ 
      [SetUp] 
      public void SetUp() 
      { 
       ChromeOptions options = new ChromeOptions(); 
       //options.AddArgument("--headless"); 
       options.AddArgument("--start-maximized"); 
       var driver = new ChromeDriver(options); 
       WebDriver = WebDriverExtended.InitWebDriver(driver, driver.Url); 
       WebDriver.Start(); 
      } 

      [TearDown] 
      public void Cleanup() 
      { 
      //Dispose after every single test, fixed the problem. 
       WebDriver.Close(); 
       WebDriver.Quit(); 
       WebDriver.Dispose(); 
      } 

     [Test] 
     public void LoginTest() 
     { 
     //My test ... 
     } 
} 

我目前使用Selenium.Support V3.6.0和Selenium.WebDriver V3.6.0。 處置的webdriver的固定我的問題

無連接可以作出,因爲目標機器積極 拒絕它127.0.0.1:4444

+0

'Quit'已經調用'Dispose'在引擎蓋下,我仍然有這個問題。 – outring 2018-02-21 07:47:27

相關問題