es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Codeception – Accediendo a localhost utilizando Webdriver en Dockerizado

Actualmente tengo este problema:


<p>[Facebook\WebDriver\Exception\UnknownErrorException] error desconocido: net::ERR<em>CONNECTION</em>REFUSED (Información de sesión: chrome=96.0.4664.45) </p> <p>```</p> Lo que estoy intentando hacer es que mi webdriver dockerizado que está en <code>localhost:4444</code> acceda a <code>localhost:7070</code> que contiene uno de los servicios que se reenviaron de puerto a través de OpenShift CLI y es accesible localmente utilizando cualquier navegador. Ejecuto el webdriver dockerizado utilizando este comando: <code>docker run -d -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.1.0-20211123</code> Aquí está la variable de entorno: <code> modules: config: WebDriver: url: http://localhost:4444 browser: chrome capabilities: chromeOptions: args: [&quot;no-sandbox&quot;, &quot;--disable-gpu&quot;] </code> Aquí está la definición de paso:
public function access7070Site() {
    $this->acceptanceTester -> amOnUrl('http://localhost:7070');
}</p>

“`

Cuando intento acceder a sitios externos, el webdriver puede acceder a ellos, sin embargo, cuando intento acceder a otro puerto localhost, tengo el problema de Conexión denegada. ¿Me estoy perdiendo algo más?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el error que estás experimentando está relacionado con un problema de conexión entre el controlador de navegador en Docker y el servicio alojado en el puerto 7070 de tu máquina local. Para permitir que el controlador de navegador en Docker acceda a este servicio, es posible que debas modificar la configuración de la red de tu contenedor Docker.

    Una opción que podrías probar es usar la opción --net=host al ejecutar el contenedor, lo que le dará acceso completo a la red del host. Aquí hay un ejemplo de cómo podrías modificar el comando para incluir esta opción:

    docker run -d --net=host -p 4444:4444 --shm-size="2g" selenium/standalone-chrome:4.1.0-20211123
    

    Además de este cambio, es posible que también debas actualizar el valor de configuración url en la configuración de tu controlador de navegador para que apunte a la dirección IP de tu máquina local, en lugar de localhost. Esto se debe a que la dirección localhost puede resolverse de manera diferente dentro del contenedor Docker. Por ejemplo:

    modules:
      config:
          WebDriver:
              url: http://<tu_dirección_ip_de_la_máquina>:7070
              browser: chrome
              capabilities:
                  chromeOptions:
                      args: ["no-sandbox", "--disable-gpu"]
    

    Una vez que hayas realizado estos cambios, intenta ejecutar tus pruebas nuevamente y verifica si se ha resuelto el problema de conexión.</tu_dirección_ip_de_la_máquina>

Comments are closed.