Eu criei um projeto usando vue-cli 3, que configura automaticamente os testes e2ed para mim. Quando tento executar os testes, eu recebo um pop-up de cromo, me dizendo que "Carregamento de extensões desembalados é desativado pelo administrador".
Este parece ser um problema comum, uma solução oferecida em outros lugares é
ChromeOptions o = new ChromeOptions();
o.addArguments("disable-extensions");
o.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(o);
Agora, este é o código Java, mas eu supor que há uma maneira de conseguir a mesma coisa em um projeto vue.js. No entanto, não tenho idéia de onde colocar esta configuração.
Este pop-up:
com a mensagem de erro como ...
Error Loading Extension
Failed to load extension from: 'C:\Users\user_name\AppData\Local\Temp\scoped_dir6312_32763\internal'. Loading of unpacked extensions is disabled by the administrator.
OK
... implica que uma extensão não foi carregado como é desativado pelo administrador.
De acordo com a discussão Falha ao extensão de carga de: ... Loading de extensões desembalados é desativado pelo administrador ChromeDriver usa extensão de automação Chrome para automatizar várias funções como o dimensionamento da janela, o posicionamento janela, etc.
A Falha ao extensão de carga .. meio popup que esta extensão não foi carregado. Se você fechar manualmente o pop-up, o navegador irá agir normalmente e ChromeDriver comandos continuará a funcionar como esperado. Mas, neste caso, se você tentar executar comandos re-posicionamento de redimensionamento de janela ou janela, ele irá lançar um erro como unknown error: cannot get automation extension
.
fundo
Até ChromeDriver v2.28 sempre uma política de administração das organizações proibidas extensões, para contornar a usuários de restrição têm usado o argumento disable-extensions
da seguinte forma:
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
WebDriver driver = new ChromeDriver(options);
e funcionou perfecto.
ChromeDriver v2.28 em diante, sempre que disable-extensions
a bandeira é passado por teste, ChromeDriver passa implicitamente disable-extensions-except
bandeira que por sua vez cargas Chrome extensão automação . Esta extensão ajuda Chromedriver para executar operações janela de dimensionamento e janela de re-posicionamento.
Assim, se seus organizacionais políticas administrador bloqueia extensões, exibição de pop-up Falha ao extensão de carga de: ... Loading de extensões descompactados é um comportamento esperado.
Esta questão tinha uma dependência de apoio Selenium para decapitado .
Gambiarra
Como alternativa, você pode definir a useAutomationExtension
capacidade false
das seguintes:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
WebDriver driver = new ChromeDriver(options);
Este inturn capacidade vai ajudar a não carregar extensão do Chrome Automação e Failed to load extension
pop-up não iria aparecer. Mas você não será capaz de executar qualquer redimensionamento janela / posicionar as operações sem a extensão de automação Chrome .
Agora, apoio Selenium para decapitado sendo resolvido ChromeDriver já não exigem esta extensão e você não deve ter visto esse erro / popup.
Solução
A solução mais simples seria usar a última versão do ChromeDriver e Chrome combinação entre um dos seguintes procedimentos:
- Se você estiver usando Chrome versão 73 , faça o download
ChromeDriver 73.0.3683.20
- Se você estiver usando Chrome versão 72 , faça o download
ChromeDriver 2.46
ouChromeDriver 72.0.3626.69
- Se você estiver usando Chrome versão 71 , faça o download
ChromeDriver 2.46
ouChromeDriver 71.0.3578.137
- Para a versão mais antiga do Chrome, consulte esta discussão .
Alternativo
Algumas outras alternativas são:
- Adicionar a chave de registo
ExtensionInstallWhitelist
para whitelist - Remova a chave de registro
ExtensionInstallBlacklist
que contém uma chave corda 1 com o valor*