Проще всего попросить программистов перенести это дело из onLoad в более правильное, так как в любом случае выкидывать alert'ы из onLoad некрасиво с точки зрения программирования. Но тут всё зависит от сговорчивости разработчиков. Ну а если нет, то описанный мною способ. Остальные способы которые знаю намного сложнее.А что делать, если это все таки OnLoad? Есть какой-нибудь способ обойти эту фичу Seleniuma?
Симуляция нажатия комбинации клавиш в Selenium RC.
#21
Отправлено 16 ноября 2010 - 10:28
#22
Отправлено 25 ноября 2010 - 10:01
Такая конструкция не работает! В буфер ничего не попадает, нужно так
selenium.keyDownNative(Integer.toString(KeyEvent.VK_CONTROL)); selenium.keyPressNative(Integer.toString(KeyEvent.VK_C)); selenium.keyUpNative(Integer.toString(KeyEvent.VK_CONTROL));
А как можно подобным способом скопировать выделенный текст и потом вставить в нужное поле?
#23
Отправлено 26 ноября 2010 - 14:47
Прям так и можно использовать, вот пример, при условии, что нужный текст уже выделен:
Такая конструкция не работает! В буфер ничего не попадает, нужно такselenium.keyDownNative(Integer.toString(KeyEvent.VK_CONTROL)); selenium.keyPressNative(Integer.toString(KeyEvent.VK_C)); selenium.keyUpNative(Integer.toString(KeyEvent.VK_CONTROL));
А как можно подобным способом скопировать выделенный текст и потом вставить в нужное поле?
selenium.keyDownNative(Integer.toString(KeyEvent.VK_CONTROL)); selenium.keyPressNative(Integer.toString(KeyEvent.VK_C)); selenium.keyUpNative(Integer.toString(KeyEvent.VK_CONTROL)); selenium.setCursorPosition("текстовое поле, в которе нужно вставить", "0"); selenium.keyDownNative(Integer.toString(KeyEvent.VK_CONTROL)); selenium.keyPressNative(Integer.toString(KeyEvent.VK_V)); selenium.keyUpNative(Integer.toString(KeyEvent.VK_CONTROL));Но это пляски с бубнами, если это просто текстовые поля, то лучше сделать так
String cp; cp=selenium.getText("Откуда копировать"); selenium.type("куда копировать", cp);
#24
Отправлено 29 ноября 2010 - 15:12
А возможно каким-то из этих способов скопировать конец ссылки, в адресной строке браузера? Или это как для селениума уже из области фантастики?
Дело в том что мне нужно скопировать айдишку (она динамическая) из строки браузера, и потом эту айдишку вставить в определенное поле.
Айдишка находится в конце ссылки, кол-во цифр может быть от 3 до 8 (например http://сайт.уа/пейдж4571311)
#25
Отправлено 29 ноября 2010 - 15:44
Вам просто нужно подрезать строку. "http://сайт.уа/пейдж" это константа на сколько я понял, значит отрезаем первые 20 символов из переменной, соответственно получаем такой кодСпасибо большое.
А возможно каким-то из этих способов скопировать конец ссылки, в адресной строке браузера? Или это как для селениума уже из области фантастики?
Дело в том что мне нужно скопировать айдишку (она динамическая) из строки браузера, и потом эту айдишку вставить в определенное поле.
Айдишка находится в конце ссылки, кол-во цифр может быть от 3 до 8 (например http://сайт.уа/пейдж4571311)
String cp; String page="http://сайт.уа/пейдж"; cp=selenium.getText("Откуда копировать"); cp=cp.substring(20); selenium.type("куда копировать", page+cp);В cp останется только id, хотя проверте, может я общитался
#26
Отправлено 29 ноября 2010 - 16:14
Вам просто нужно подрезать строку. "http://сайт.уа/пейдж" это константа на сколько я понял
Не, это не константа, ссылка с id'шкой образовывается при переходе с другой страницы.
Тоесть, план действий такой:) селениум кликает по ссылке, переходит на страничку, в которой в адресной строке есть айдишка, копирует айдишку, переходит на другую страницу, вставляет айдишку в нужное поле и жмет ОК:)
#27
Отправлено 30 ноября 2010 - 08:59
#28
Отправлено 30 ноября 2010 - 09:26
Наверное сначала надо забрать весь адрес с помощью selenium.getLocation(), потом регулярными выражениями достать id.
А подробней, пожалуйста?:)
#29
Отправлено 30 ноября 2010 - 09:35
Подробнее - это написать кусок кода, что скорее всего вам навредит. Не ленитесь, сделайте сами.А подробней, пожалуйста?:)
#30
Отправлено 30 ноября 2010 - 09:47
Я не знаю, какие возможности по работе с шаблонами вам предоставит c# (вы же на нем вроде пишете?), но думаю, что такая функциональность у него должна быть.
Если будет очень необходимо, могу написать кусок кода на java.
#31
Отправлено 30 ноября 2010 - 09:51
В целом согласен, но регулярные выражения в Java действительно с ходу можно и не осилить.Подробнее - это написать кусок кода, что скорее всего вам навредит. Не ленитесь, сделайте сами.
А подробней, пожалуйста?:)
Поэтому, чтобы было проще, используйте библиотеку Jakarta Regexp: http://jakarta.apach...gexp/index.html
RE re = new RE("\\d{3,8}$"); re.match(url); String id = re.getParen(0);
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#32
Отправлено 30 ноября 2010 - 09:56
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных