J'ai récemment créé un agent Azure DevOps auto-hébergé et installé également avec Google Crome. Est-il possible d'installer le pilote Chrome sur ce serveur et puis-je sélectionner une version spécifique à utiliser?
J'aimerais que le pilote Chrome 2.42.0.1 soit utilisé par cet agent auto-hébergé.
Toute aide sera très appréciée. Merci!
3 Réponses :
Installation que j'ai trouvée en utilisant npm install ici: :)
C'est peut-être un post tardif, mais pour aider le forum, qui m'a aidé depuis près d'une décennie, voici comment nous l'avons réglé.
Par défaut, l'image "Azure Pipelines Hosted VS2017" (ou dans Classic Editor Agent Specification , elle s'appelle vs2017-win2016 ) dispose déjà de Google Chrome (version 77.0.3865.90 < em> au 3 décembre 2019 ) et ChromeDriver (77.0.3865.40 au 3 décembre 2019 ) préinstallés (Plus d'infos ici - https://github.com/Microsoft/azure- pipelines-image-generation / blob / master / images / win / Vs2017-Server2016-Readme.md )
Mais nous sommes toujours confrontés au problème du "sélénium-side-runner" incapable de trouver le ChromeDriver en raison du PATH manquant dans la variable System Variables of Environment de Windows.
Image - Pilote Chrome introuvable
Nous avons donc essayé de creuser un peu plus profondément et avons constaté que nous pouvions y parvenir en téléchargeant ChromeDriver via le processus de génération, puis en le copiant dans le dossier NodeJs de C: Program Files < / fort> ..! Doux?
Passons brièvement en revue les étapes pour voir comment cela est réalisé.
J'espère que cela vous aidera ..!
Une autre solution pour utiliser des agents hébergés par Microsoft avec le pilote Chrome du navigateur Chrome déjà installé.
Les agents contiennent déjà une variable d'environnement avec l'emplacement de ChromeWebDriver sur l'agent (cela fonctionne pour «windows-2019» et «vs2017-win2016» Agents hébergés par Microsoft). Des pilotes Firefox et IE existent également sur les agents ( https : //github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md ).
Code C #:
ChromeOptions chromeOptions = new ChromeOptions(); var driverPath = Path.Combine(Directory.GetCurrentDirectory()); var envChromeWebDriver = Environment.GetEnvironmentVariable("ChromeWebDriver"); if(!string.IsNullOrEmpty(envChromeWebDriver) && File.Exists(Path.Combine(envChromeWebDriver, "chromedriver.exe"))) { driverPath = envChromeWebDriver; } ChromeDriverService defaultService = ChromeDriverService.CreateDefaultService(driverPath); defaultService.HideCommandPromptWindow = true; var driver = (IWebDriver) new ChromeDriver(defaultService, chromeOptions);
Excellente réponse, m'a sauvé la journée!
Quel est votre pipeline? où voulez-vous que l'agent utilise le pilote?
Salut @ShaykiAbramczyk, notre QA veut l'utiliser pour leurs projets d'automatisation des tests d'interface utilisateur. Je vous remercie
Si vous installez seulement 2.42.0.1 donc je suppose que l'agent utilise cette version ... parce que c'est celle installée ... si votre question concerne le pipeline, vous devez donc partager le pipeline et où dans le pipeline vous exécutez l'interface utilisateur essai.
C'est possible, vous devrez peut-être écrire un PowerShell pour l'installer mais c'est possible. Je ne connais pas votre projet de test, mais si vous utilisez un test .net, vous pouvez apporter votre chromedriver via nuget, puis dans le buildoutput des tests, ce serait mieux que d'installer chromedriver
merci @ShaykiAbramczyk & @ DJ - J'ai déjà pu l'installer en suivant les étapes ici: npmjs.com/package / chromedriver :)
Génial! vous pouvez poster la solution comme réponse :)