Невозможно получить расширение автоматизации от таймаута: время ожидания получения сообщения от средства визуализации
Использование Selenium Webdriver (С#) Я получаю следующую ошибку время от времени:
System.InvalidOperationException: неизвестная ошибка: невозможно получить расширение автоматизации от таймаута: время ожидания получения сообщения от средства визуализации: -3.959 (информация сессии: chrome = 37.0.2062.120) (информация о драйвере: chromedriver = 2.10.267521, платформа = Windows NT 6.2 x86_64)
Способ появления этой ошибки:
OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) в c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: строка 1048 в OpenQA.Selenium.Remote.RemoteWebDriver.Execute(строка driverCommandToExecute, параметры Dictionary`2) в c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: строка 865 в AutomatedTests.DriverCover..ctor(драйвер IWebDriver)
Итак, это происходит в следующем фрагменте кода:
public class DriverCover
{
public DriverCover(IWebDriver driver)
{
_driver = driver;
_driver.Manage().Window.Maximize(); //There is my mistake
}
private readonly IWebDriver _driver;
}
Я использую этот класс как базовый класс классов PageObject, где я использую PageFactory для инициализации элементов веб-страниц.
У меня есть chromedriver v.2.10
и Google Chrome v. 37.0.2062.120 м
Кроме того: в той же строке я получил еще одну ошибку:
OpenQA.Selenium.WebDriverException: HTTP-запрос на удаленный сервер WebDriver для URL http://localhost:62407/session/021e05cd4c89abedb2abc77342b3bd7c/window/current/maximize
истекает через 60 секунд. ---- > System.Net.WebException: операция завершила аудит OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(запрос WebRequest) в каталоге c:\Projects\webdriver\dotnet\src\webdriver\Remote\HttpCommandExecutor.cs: line 152 в OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(команда commandToExecute) в c:\Projects\webdriver\dotnet\src\webdriver\Remote\DriverServiceCommandExecutor.cs: строка 73 в OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Параметры Dictionary`2) в c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: строка 852 в AutomatedTests.DriverCover..ctor(драйвер IWebDriver)
Ответы
Ответ 1
Мы видели что-то похожее на Chrome, и проблема сводилась к тому, как мы максимизировали браузер перед запуском тестов.
Мы перешли от этого:
Driver.Manage().Window.Maximize();
Для этого (только для Chrome):
if (typeof(TWebDriver) == typeof(ChromeDriver))
{
var options = new ChromeOptions();
options.AddArgument("start-maximized");
driver = new ChromeDriver(driverPath, options);
}
Ответ 2
Это происходит из-за несогласованности драйвера Chrome. Я исправил эту проблему, обновив мой драйвер до последней версии. 2.29 (https://chromedriver.storage.googleapis.com/index.html?path=2.29/)
Ответ 3
Вы можете попробовать это, сработали для меня
Моя версия браузера Chrome: 57 и версия драйвера Chrome: 2.27
Добавив следующие строки кода, я решил проблему.
ChromeOptions options = new ChromeOptions();
options.addArguments("enable-automation");
options.addArguments("--disable-infobars");
WebDriver driver = new ChromeDriver(options);
Ответ 4
Имел подобную проблему, такую же ошибку, но при вызове getScreenshotAs().... У меня был старый ChromeDriver и обновление исправило проблему для меня
Ответ 5
Обновление ChromeDriver сделает трюк для этой проблемы.