2015-03-19 2 views
1

У меня есть Visual Studio 2008 Team System C#, работающая на моем 64-битном поле Windows 7, и у этого есть около 200 тестов Selenium.Отключено подключение удаленного сервера Selenium

До недавнего времени большинство испытаний было в порядке, но внезапно ни один тестов не будет выполняться. Все они дают ту же ошибку:

System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:4444. 

Я использую Селен-серверного автономный-2.45.0, установленный в ... \ Program Files (x86) \ селен дистанционного управления-2.45.0

Это случилось неожиданно, и я не могу понять, что могло измениться. Код, где генерируется ошибка (это было неизменным в течение многих лет и, как правило, работает достаточно надежно) является:

 public static ISelenium CreateDefaultSelenium() 
     { 
      string browser = ConfigurationManager.AppSettings["UnitTestBrowserString"]; 
      if (browser == null) 
       browser = "*iexplore"; 
      ISelenium selenium = new DefaultSelenium("localhost", 4444, browser, "http://localhost/"); 
      return selenium; 
     } 

    public static void Start(this ISelenium selenium, int tries) 
    { 
     // Start the browser with a new Selenium session. Catch any WebException (eg socket refused) and retry a few times. 
     bool started; 
     int tryCount = 0; 
     do 
     { 
      tryCount++; 
      try 
      { 
       selenium.Start(); //<--this fails with the WebException 
       started = true; 
      } 
      catch (System.Net.WebException) 
      { 
       started = false; 
       if (tryCount >= tries) 
        throw; 
      } 
     } while (!started); 
    } 

//start selenium at the beginning of each test: 
ISelenium selenium = CreateDefaultSelenium(); 
selenium.Start(5); 

и бросает WebException с сообщением об ошибке я скопировал выше.

Я установил, что мой локальный брандмауэр Windows имеет порт 4444, открытый для внутренних TCP и UDP (обычно это не так), но это не вылечило проблему. Если я запускаю веб-приложение самостоятельно, он отлично работает, поэтому IIS в порядке, хотя VS использует собственный веб-сервер. Перезагрузка не улучшилась.

Может ли кто-нибудь предложить, что могло измениться, чтобы вызвать это? Я не понимаю, куда обратиться.

ТИА

ответ

1

Хорошо, оказалось, что среди файлов журнала Селен был набор файлов блокировки (selenium.log.1.lck и т.д.). Их устранение сразу же устранило проблему.

Любой шанс, что команда Selenium добавит этот камень в документацию Selenium? Мне потребовались дни, чтобы наткнуться на это решение!

Смежные вопросы