Отключите Chrome Automation Extensions с помощью Coypu - PullRequest
1 голос
/ 07 октября 2019

Я пытаюсь создать автоматизированную среду тестирования, используя Selenium Wrapper: Coypu. Когда я пытаюсь запустить автоматический тест пользовательского интерфейса, я получаю сообщение об ошибке: «Не удалось загрузить расширение из: (путь к файлу указан здесь). Загрузка распакованных расширений отключена администратором».

Кажется, проблема в том, что моя организация не внесла в белый список Automation Extensions for Chrome. Все исправления, которые я нашел в Интернете, предлагают отключить расширения Chrome для веб-драйвера selenium, выполнив что-то вроде следующего:

ChromeOptions options = new ChromeOptions();
options.AddAdditionalCapability("useAutomationExtension", false);
ChromeDriver driver = new ChromeDriver(options: options);

Вот код, в котором я настроил сеанс браузера Coypu:

SessionConfiguration sessionConfig = new SessionConfiguration();
sessionConfig.Browser = Coypu.Drivers.Browser.Chrome;
sessionConfig.Timeout = TimeSpan.FromSeconds(30);
sessionConfig.RetryInterval = TimeSpan.FromSeconds(0.5);
//Browser is a static object that wraps a thread mapped dictionary of browserSessions.
//the start method adds a browser session to the Browser object's dictionary
Browser.Start(sessionConfig);
string DevEnviromentUrl = System.Configuration.ConfigurationManager.AppSettings["Dev"];
Browser.Visit(DevEnviromentUrl);


Как отключить расширение автоматизации в нутрии?

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

попробуйте что-то вроде

public class CustomChromeOptionsSeleniumWebDriver : SeleniumWebDriver
{
    public CustomChromeOptionsSeleniumWebDriver(Browser browser)
        : base(CustomProfile(), browser) {}

    private static RemoteWebDriver CustomChromeOptions()
    {
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.AddArguments("start-maximized");
        chromeOptions.AddArguments("--disable-extensions");
        chromeOptions.AddArguments("useAutomationExtension", false);

        return new ChromeDriver(chromeOptions);
    }
}

[SetUp]
public void SetUp()
{       
    var configuration = new SessionConfiguration
    {
        Timeout = TimeSpan.FromMilliseconds(2000),
        Driver = typeof(CustomChromeOptionsSeleniumWebDriver),
        Browser = Browser.Chrome,
    };
    browser = new BrowserSession(configuration);
}
0 голосов
/ 07 октября 2019

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

Единственным другим вариантом является понижение версии Chrome и драйверов, которые не имеют расширения (которое я не рекомендую)

...