Можно ли разработать панель инструментов браузера, которая принимает селен автоматизации - PullRequest
1 голос
/ 23 мая 2011

обычно селен не идентифицирует элементы на панели инструментов браузера.Но это для предварительной сборки панелей инструментов браузера.Может ли панель инструментов браузера (для FF, IE и Chrome) быть разработана таким образом, чтобы селен можно было использовать для идентификации элементов на панели инструментов, а затем выполнять над ним управляющие действия, например щелкнуть переключатель на панели инструментов.

1 Ответ

2 голосов
/ 17 июля 2011

Поскольку Selenium может контролировать только то, что может контролировать JavaScript, вам необходимо выяснить, может ли JavaScript управлять панелью инструментов. JavaScript имеет 3 основных функции. Я управляю обработкой JavaScript, DOM (объектная модель документа) и BOM (объектная модель браузера). Когда HTML 5 и CS3 вышли, возможно, было больше контроля над JavaScript, но это мое знание.

Я думаю, что вам, возможно, потребуется использовать кросс-браузерное расширение для создания боковой панели / панели инструментов Google-шестерня / Silverlight / глинобитный воздух / jnext. Возможно, вам придется сделать пользовательский интерфейс, используя DOM. Я не уверен. Вам нужно будет исследовать .. никогда не делал этого раньше.

Если панель инструментов является частью спецификации (и / или DOM), то вы можете это сделать. Просто создайте пользовательскую команду с именем Selenium.prototype.doControlToolbar или что-то в этом роде и поместите свою логику JavaScript в эту функцию (аналогично тому, что я описал ниже). Удачи!

Вариант № 1 - при использовании Selenium IDE:

Укажите файл user-extensions.js в Selenium IDE> Параметры (меню)> Параметры (параметр меню)> вкладка «Общие», а затем найдите файл в разделе «Основные расширения Selenium».

Вариант № 2 - при использовании Selenium RC Server:

Если вы не используете IDE и не используете сервер Selenium RC с клиентским драйвером (например, JUnit), вы должны указать путь к файлу * .js с параметром -userExtensions при запуске Selenium RC Server в командной строке. Но вы сказали, что просто хотите использовать IDE, поэтому я бы проигнорировал это. Для использования сервера Selenium RC требуется совсем немного других настроек.

java -jar selenium-server.jar -userExtensions user-extensions.js

=======================

Я сделал следующую пользовательскую команду (функцию JavaScript) в своем пользовательском файле user-extensions.js. Мне пришлось выйти и перезапустить IDE, прежде чем он ее обнаружил. Введите все после «do» в поле «Command» в IDE, чтобы найти пользовательскую команду. Похоже, он также добавил "customAlertAndWait" в среду IDE.

Код в файле user-extensions.js:

Selenium.prototype.doCustomAlert = function (sTarget, sValue) {alert ('Target:' + sTarget + '... Value:' + sValue); };

Детали команды Selenium IDE:

Команда: customAlert
Цель: настраиваемая цель оповещения
Значение: настраиваемое значение оповещения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...