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?
4 Réponses :
Vous recherchez Puppeteer , une API pour Chrome / Chromium sans tête.
Une fois que vous avez votre script (les documents a > sont bons), vous pouvez l'exécuter avec node script.js
.
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>
:
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
..
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>:
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 a > pour ça aussi.
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; }));
Quelles sont les dépendances pour cela? require ('..')
rend difficile de savoir ce que je dois installer en premier.