Доступ к параметрам Chrome в JavaScript (необязательно: из теста Галена)

Я использую Galen (инструмент JS для тестирования макета HTML-страницы). Он настроен из файла.js, который не может использовать ES6 JS:-(

Мне нужно загрузить / изменить ChromeOptions из драйвера Chrome, но я не могу понять, как получить к нему доступ. Я вижу много примеров того, как установить параметры, но когда я делаю это, используя:

var options = new chrome.Options();

Я получаю сообщение об ошибке: ReferenceError: "chrome" is not definedЯ пытался использовать require() а также load() функции, но с требованием я получаю похожие не определенные ошибки (я думаю, проблема ES6), и с нагрузкой я не могу указать на сценарий работает, я пытался:

load("../../npm_modules/selenium-webdriver")
load("../../npm_modules/selenium-webdriver/chrome")
load("chrome")
etc.

Кажется, что это не веб-драйвер, который использует Гален, но как мне найти тот, который он использует? и является load() что использовать, чтобы загрузить его?

1 ответ

Решение

Гален использует Rhino JS Engine. Это означает, что вы можете напрямую вызывать классы Java из файла.js, который его настраивает, что позволяет получить такой ответ:

importClass(org.openqa.selenium.chrome.ChromeOptions);
importClass(org.openqa.selenium.chrome.ChromeDriver);

var options = new ChromeOptions();
options.addArguments("--headless");
var driver = new ChromeDriver(options);

Хитрость заключается в том, чтобы узнать, как импортировать нужный класс из драйвера Selenium Chrome!

Нашел это на сайте групп Google Галена. Использовал Selenium HQ API, документированный на GitHub, для дальнейшего расширения того, что я делал. НТН.

Другие вопросы по тегам