Подтвердить что ты не робот

Никакое соединение не может быть сделано, потому что целевая машина активно отказалась от него (селен)

Я извлек следующий код из Selenium IDE (пульт дистанционного управления С#)

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();

i включил все DLL файлы. (без ошибок и предупреждений).

но после нажатия кнопки я получаю следующую ошибку

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

что я должен делать?

спасибо заранее.

Примечание для зрителей. Этот пост может вам помочь: Не удалось установить соединение, потому что целевая машина активно отказалась от него

4b9b3361

Ответ 1

"... целевая машина активно отказалась от этого" означает, что сервер может быть достигнут и отвечать в течение таймаута, но указанный порт не был открыт. Это может иметь несколько причин, например. локальный брандмауэр блокирует соединение. Вы уверены, что сервер прослушивает правильный IP-порт?

Ответ 2

Чтобы добавить больше ясности для читателей: запустите сервер selenium, выполнив следующие шаги:

  • Скачать selenium -сервер автономный от официального селена скачать стр.
    • Откройте командную строку.
    • Перейдите в папку, используя "Cd".
    • Добавьте эту команду: "java - jar".
    • Нажмите Enter.
    • Сервер Selenium будет запущен.

Ответ 3

Я получаю ту же ошибку, но на другой строке кода. Надеюсь, это может помочь кому-то, даже если оно не отвечает на начальный вопрос.

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

Я использую WebDriver (я не запускаю сервер Selenium), а конструктор 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: Бросил [отмечен]. Просто снимите этот флажок, и все будет работать без броска/взлома. Понадобился время, чтобы понять это. Остатки предыдущей сессии отладки...

Ответ 4

Я получил это, потому что часть моего кода содержала ссылку на устаревший драйвер.

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

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

Ответ 5

Так я это делаю, структура моего класса.

 [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

Ответ 6

Убедитесь, что удаленный компьютер, на котором запускаются скрипты, работает и работает. Во-вторых, убедитесь, что на нем обновлен хром-драйвер и хром. Наконец, брандмауэр не блокирует доступ к удаленному компьютеру.

PS: Вручную закройте сервер selenium и перезапустите его.