2
votes

Exécuter un seul fichier Javascript avec du chrome sans tête à partir de la ligne de commande

Nous utilisons PhantomJS comme simple testeur comme ceci:

phantomjs path/to/test.js

Existe-t-il un moyen similaire avec le chrome sans tête?


0 commentaires

4 Réponses :


0
votes

Vous recherchez Puppeteer , une API pour Chrome / Chromium sans tête.

Une fois que vous avez votre script (les documents sont bons), vous pouvez l'exécuter avec node script.js .


0 commentaires

0
votes

comme expliqué sur developer.google vous ont l'option d'utiliser Node ou Selenium , dans les deux cas, vous devrez réécrire une partie de vos cas de test pour utiliser la nouvelle API au lieu de phantomjs api .

Les options suivantes sont basées sur Node code> :

  1. Marionnettiste

Je vous suggère de vous rendre sur leur page github pour obtenir des instructions d'installation et d'utilisation .

Votre scénario de test doit être rédigé à l'aide de l ' Puppetteer api et exécuter avec:

node --inspect=9222 path/to/test.js

Il y a une liste de ressources de marionnettiste , vous pouvez utiliser puppeteer avec plaisanterie , moka , angular , e2e ..

  1. chrome-remote-interface code > bibliothèque

chrome-remote-interface est une bibliothèque de niveau inférieur à l'API de Puppeteer. Je le recommande si vous voulez être proche du métal et utiliser directement le protocole DevTools.

Vous devez démarrer chrome en mode sans tête ou utilisez lighthouse code > ou nodejs:

node path/to/test.js

rédigez votre scénario de test javascript en utilisant le chrome protocole DevTools et suivez les instructions sur leur page github pour installer et exécuter vos tests.

L'autre option consiste à utiliser Selenium configuré pour exécuter headless Chrome . Les options suivantes utilisent Selenium code>:

  1. ChromeDriver
  2. Webdriver


0 commentaires

0
votes

Vous pouvez exécuter vos tests avec Karma et Chrome sans tête. Voici un guide pour ce faire. < / p>

Le marionnettiste est également assez bien équipé pour ce faire. Voici un guide pour ça aussi.


0 commentaires

3
votes

Essayez l'exemple ci-dessous:

const chrome = require('../chrome');
const firefox = require('../firefox');
const {Builder, By, Key, until} = require('..');

const width = 640;
const height = 480;

let driver = new Builder()
    .forBrowser('chrome')
    .setChromeOptions(
        new chrome.Options().headless().windowSize({width, height}))
    .setFirefoxOptions(
        new firefox.Options().headless().windowSize({width, height}))
    .build();

driver.get('http://www.google.com/ncr')
    .then(_ =>
        driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN))
    .then(_ => driver.wait(until.titleIs('webdriver - Google Search'), 1000))
    .then(
        _ => driver.quit(),
        e => driver.quit().then(() => { throw e; }));


1 commentaires

Quelles sont les dépendances pour cela? require ('..') rend difficile de savoir ce que je dois installer en premier.