web-dev-qa-db-fra.com

Impossible de se connecter à Chromebrowser 78 en sélénium

J'essaie d'exécuter mon premier test Selenium et je n'ai pas réussi à appeler le navigateur en raison d'un problème de port. Ma chrome est la version 78.0.3904.97 (version officielle) (64 bits) et j'ai téléchargé la dernière version stable: ChromeDriver 78.0.3904.70. Je vois l'erreur ci-dessous lorsque j'exécute mon script .

Démarrage de ChromeDriver 78.0.3904.70 (edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs/branch-heads/3904 @ {# 800}) sur le port 30211 Seules les connexions locales sont autorisées. Veuillez protéger les ports utilisés par ChromeDriver et les cadres de test associés pour empêcher l'accès par du code malveillant. [1573154573.453] [AVERTISSEMENT]: Délai de connexion à Chrome expiré, nouvelle tentative ... 7 novembre 2019 7:22:56 PM org.openqa.Selenium.remote.ProtocolHandshake createSession INFO: dialecte détecté : Exception W3C dans le thread "principal" org.openqa.Selenium.InvalidArgumentException: argument non valide
(Info de session: chrome = 78.0.3904.97) Info de build: version: '3.141.59', révision: 'e82be7d358', heure: '2018-11-14T08: 25: 48'

J'ai téléchargé la dernière exe chromedriver qui est compatible avec ma version de chromebrowser.

import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;

public class demo1 {

    public static void main(String[] args) {

        //invoke browser
        System.setProperty("webdriver.chrome.driver", 
                "C:\\Users\\270816\\Documents\\Selenium- 
                installations\\chromedriver_win32\\chromedriver.exe");

        //create browser object
        WebDriver driver= new ChromeDriver();

        //hit google.com
        driver.get("www.bbc.co.uk");

Message d'erreur:

Démarrage de ChromeDriver 78.0.3904.70 (edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs/branch-heads/3904 @ {# 800}) sur le port 30211 Seules les connexions locales sont autorisées. Veuillez protéger les ports utilisés par ChromeDriver et les cadres de test associés pour empêcher l'accès par du code malveillant.

2
Mamatha

Ce message d'erreur ...

[1573154573.453][WARNING]: Timed out connecting to Chrome, retrying... 
Nov 07, 2019 7:22:56 PM org.openqa.Selenium.remote.ProtocolHandshake createSession 
INFO: Detected dialect: W3C Exception in thread "main" org.openqa.Selenium.InvalidArgumentException: invalid argument
(Session info: chrome=78.0.3904.97) Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'

... implique que le ChromeDriver n'a pas pu lancer/générer un nouveau WebBrowser ie session du navigateur Chrome .

Selon la trace de la pile d'erreurs, la raison réelle de l'erreur n'est pas concluante. Cependant, lorsque vous utilisez:

  • Sélénium v3.141.59
  • ChromeDriver 78.0.3904.70
  • chrome = 78.0.3904.97

Je soupçonne que le problème vient de la version [~ # ~] jdk [~ # ~] sur le système de test


Solution

Veiller à ce que:

  • [~ # ~] jdk [~ # ~] est mis à niveau aux niveaux actuels JDK 8u222 .
  • Si votre version de base du client Web est trop ancienne, désinstallez-la et installez une version récente GA et la version publiée de Client Web .
  • Prenez un redémarrage du système .
  • Exécutez votre @Test En tant qu'utilisateur non root .
  • Appelez toujours driver.quit() dans la méthode tearDown(){} pour fermer et détruire le WebDriver et Web Client instances gracieusement.
1
DebanjanB