jueves, 22 de agosto de 2024

Serenity.conf con Selenium grid y que funcione para Linux y Windows

Buenas lectores.

Les comparto mi archivo serenity.conf el cual funciona conectandome a un selenium grid que a su vez tiene varios nodos, entre ellos una combinación entre Windows  y Linux.

Con el siguiente serenity.conf pueden ejecutar en ambos sistemas operativos sin que salgan los mensajes de chrome crash: 


serenity {

  take.screenshots = FOR_FAILURES

  test.root = "starter.acceptancetests"

  logging = QUIET

}


headless.mode = true

webdriver {

  driver = remote

  capabilities {

    browserName = "chrome"

    acceptInsecureCerts = true

    "goog:chromeOptions" {

      args = ["ignore-certificate-errors","disable-popup-blocking","headless=new","start-maximized","no-sandbox","disable-dev-shm-usage","--disable-blink-features=AutomationControlled"]

    }

  }

  remote {

    url="http://localhost:4444/wd/hub"

    driver=chrome

    headless.mode = false

    capabilities {

    browserName = "chrome"

    acceptInsecureCerts = true

    "goog:chromeOptions" {

        args = ["ignore-certificate-errors","disable-popup-blocking","headless=new","start-maximized","no-sandbox","disable-dev-shm-usage","--disable-blink-features=AutomationControlled"]

    }

  }

  }

 }

Espero les sirva.

PD: No es necesario enviar el último flag.

Saludos.


Se te comienzan a quedar sesiones de chrome abiertas luego de ejecutar automatizaciones?

Buenas lectores.

Ha venido ocurriendo que en algunos proyectos ejecutados se van quedando procesos de chrome huerfanos ocasionando que el consumo de la CPU suba al 100% y finalmente la caida del servidor de pruebas.

He realizado descarte de muchos factores, sin embargo, el parámetro que parece funcionar es quitar el siguiente flag: "disable-gpu".

He probado y funciona con la creación directa del webdriver y también cuando lo parametrizamos desde el serenity.conf.

Espero les sirva el tip.

Saludos.