Selenium-Grid: как использовать `user-extensions.js` - PullRequest
2 голосов
/ 20 июля 2010

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

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

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

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

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

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

Ответы [ 2 ]

4 голосов
/ 22 июля 2010

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

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

Это сработало как чудо.:)

1 голос
/ 20 июля 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/

...