web-dev-qa-db-fra.com

Selenium/WebdriverIO Chrome sans tête?

Est-il possible de tester automatiquement le navigateur avec Selenium / WebdriverIO en utilisant Chrome en mode sans affichage?

Soi-disant Chrome --headless est une chose maintenant, mais je ne parviens pas à faire fonctionner leur exemple. J'espérais que le sélénium avait une option pour cela?


J'initialise WebdriverIO comme ceci:

const WebdriverIO = require('webdriverio');

let driver = WebdriverIO.remote({
    desiredCapabilities: {
        browserName: browser, // "chrome" or "firefox"
    },
});

Et je commence Selenium en utilisant Selenium-standalone :

Selenium-standalone start > /dev/null 2>&1
16
mpen

Je n'ai pas encore essayé moi-même, mais vous pouvez télécharger --headless build à partir de cette image de menu fixe: 

https://hub.docker.com/r/justinribeiro/chrome-headless/

ou le construire vous-même (cela prend quelques heures et vous avez besoin de beaucoup de RAM :)) http://www.zackarychapple.guru/chrome/2016/08/24/chrome-headless .html

Ensuite, vous devriez pouvoir simplement spécifier --headless dans votre script de lancement de chrome et utiliser chromedriver, conformément à cette question dans la liste de diffusion dev: https://groups.google.com/a/chromium.org/forum/#! topic/headless-dev/aAGFq8n_s6g

2
cvakiitho

Vous pouvez utiliser HtmlUnitDriver () pour réaliser un test de navigateur sans interface graphique avec Selenium.

driver = new HtmlUnitDriver();
driver.get(URL); 
String title =  driver.getTitle();
System.out.println(title);

Mais je comprends que vous voulez un test spécifique du navigateur sans navigateur avec chrome, ..... laissez-moi essayer de vous répondre.

0
Dharam

Outre le pilote HTML Unit, une autre approche permettant d’utiliser webdriver en mode non graphique consiste à utiliser le tampon de trame XVirtual pour Linux. En l'utilisant, vous pouvez utiliser à la fois les pilotes Chrome et Firefox. La solution complète, qui inclut Jenkins, le pilote Selenium Firefox et Blazemeter avec l’utilisation du tampon de trame XVirtual sous Linux, est décrite ici: Exécution sans tête des tests Selenium dans Jenkins . Bien sûr, vous pouvez utiliser le pilote Chrome à la place. 

0
Konstantin Firsanov