Выполнить один файл Javascript с безголовым Chrome из командной строки - PullRequest
1 голос
/ 26 апреля 2019

Мы используем PhantomJS в качестве простого бегуна, например:

phantomjs path/to/test.js

Есть ли аналогичный способ с хромом без головы?

Ответы [ 4 ]

2 голосов
/ 07 мая 2019

Попробуйте следующий пример:

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; }));
0 голосов
/ 06 мая 2019

как описано на developers.google у вас есть возможность использовать Node или Selenium, в любом случае вам придется переписать часть ваших тестовых случаев, чтобы использовать новый API вместо phantomjs API .

Следующие опции основаны на Node:

  1. Puppeteer

Я предлагаю вам зайти на их страницу github для инструкций по установке и использованию.

Ваш тестовый пример должен быть написан с использованием Puppetteer api и run с:

node path/to/test.js

Существует список ресурсов кукловода , вы можете использовать puppeteer с jest, mocha, angular , e2e ..

  1. chrome-remote-interface библиотека

chrome-remote-interface - это библиотека более низкого уровня, чем API кукловода. Я рекомендую это, если вы хотите быть ближе к металлу и использовать протокол DevTools напрямую.

Вам необходимо запустить chrome в режиме без головы или использовать lighthouse или nodejs:

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

напишите свой javascript контрольный пример, используя chrome DevTools protocol и следуйте инструкциям на их странице github , чтобы установить и запустить свои тесты.

Другой вариант использует Selenium сконфигурированный для запуска безголового Chrome . следующие опции использовать Selenium:

  1. ChromeDriver
  2. WebDriver
0 голосов
/ 06 мая 2019

Вы можете запускать свои тесты с помощью Karma и безголового Chrome.Вот руководство для этого.

Кукловод также достаточно хорошо подготовлен для этого.Вот руководство для этого тоже.

0 голосов
/ 30 апреля 2019

Вы ищете Puppeteer , API для безголового Chrome / Chromium.

Как только у вас есть свой скрипт (хороши документы ), вы можетезапустить его с node script.js.

...