Selenium-Grid: как использовать `user-extensions.js`

Мы конвертируем наши тесты Selenium для использования Selenium-Grid.

Я пытаюсь найти способ запустить концентратор selenium-grid и / или удаленный, чтобы он мог использовать user-extensions.js, который мы создали ранее. Я смог заставить все работать с нашими старыми тестами, кроме наших расширений.

Поискав в Интернете, я обнаружил, что вы можете отредактировать файл project.properties в корневом каталоге selenium-grid и добавить свойство user_extension_file, чтобы указать на user-extensions.js.

user_extension_file=${basedir}/user-extensions.js

Я также пробовал использовать относительный и абсолютный пути для значения этого свойства, и ни один из них не работал. Я попытался добавить это как в корневую папку selenium-grid концентратора, так и в корневую папку selenium-grid RC.

Кто-нибудь знает как это сделать? Спасибо.


person Joel    schedule 19.07.2010    source источник


Ответы (2)


Хорошо, я понял это (наконец). Когда вы запускаете Remote Control с помощью задачи ant, вы можете сделать это:

ant launch-remote-control -DseleniumArgs="-userExtensions path/to/user-extensions.js" ...

Это сработало как шарм. :)

person Joel    schedule 21.07.2010

Вы пробовали использовать setExtensionJs?

По сути, расширение Javascript должно быть указано до запуска браузера и остается активным до закрытия сеанса.

selenium = new DefaultSelenium('localhost', 4444, '*firefox', 'http://alistapart.com');
def extensionJs = new File('selenium-core/src/main/resources/core/scripts/ui-map-sample.js').text;
selenium.setExtensionJs(extensionJs);
selenium.start();
selenium.open('http://alistapart.com');
selenium.click('ui=allPages::section(section=topics)');
selenium.waitForPageToLoad('5000');
selenium.stop();

От: http://ttwhy.org/home/blog/2008/05/14/selenium-rc-per-session-extension-javascript/

person Dave Hunt    schedule 20.07.2010
comment
Последний комментарий к этому блогу гласит: Просто предупреждение для всех, кто пытается использовать этот интерфейс SetExtensionJS (). Вы не можете использовать это для создания команды Selenium, как в случае с user-extensions.js, потому что код, регистрирующий обработчики команд, запускается до того, как SetExtensionJS () внедрит ваш код. что я и пытаюсь сделать. Я все равно попробовал этот подход, и он не сработал. - person Joel; 20.07.2010
comment
@ Джоэл: Да, это был мой комментарий. Весь обработчик команд selenium-api.js действительно ограничивает то, что вы можете делать с user-extensions.js - person Ross Patterson; 23.07.2010