Не работает кнопка
#1
Отправлено 07 ноября 2008 - 07:51
#2
Отправлено 07 ноября 2008 - 08:47
В хитром обработчике нажатия на кнопку. Вообще говоря, selenium.click() не полностью идентичен клику левой кнопкой. Надо смотреть что там висит на кнопке и генерить нужные события. Я встречался с очень нетривиальными полями ввода, которые требовали не просто определённых событий, но ещё и в определённой последовательности.Работающая кнопка в браузере не работает при запуске автотеста. В чем может быть проблема?
#3
Отправлено 07 ноября 2008 - 08:48
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#4
Отправлено 07 ноября 2008 - 09:26
Код кнопки:Покажите, пожалуйста, фрагмент теста, где нажимается кнопка, и код самой кнопки.
<img class="button" onclick="if (check(document.forms['userForm'])) { register(); } return false;" style="cursor: pointer;" alt="Picture" src="http://site.com/imag.../picture.gif"/>
Код теста:
sel.click("xpath=/html/body/div[2]/table/tbody/tr/td/div[4]/div[2]/form/table/tbody/tr[9]/td[2]/img")
#5
Отправлено 09 ноября 2008 - 20:13
//td/img[@class='buttion' and contains(@onclick,'userForm')]
#6
Отправлено 12 ноября 2008 - 15:17
onclick
onmousedown
onmouseup
#7
Отправлено 12 ноября 2008 - 16:14
Это какой-то неправильный подход, с его помощью делаются неправильные тесты :)какое-то из этих событий должно помочь
Правильный: берём в руки Firebug и смотрим как оно там на самом деле работает и какие события обрабатывает. Ведь события могут очень хитро обрабатываться и не одно, а несколько или даже все сразу.
#8
Отправлено 12 ноября 2008 - 16:45
Согласен. Но по коду видно, что именно onclick и обрабатывается.Правильный: берём в руки Firebug и смотрим как оно там на самом деле работает и какие события обрабатывает. Ведь события могут очень хитро обрабатываться и не одно, а несколько или даже все сразу.
А если по коду явно ничего не видно? Что вы скажете насчет такого элемента?
<li id="ext-comp-1165__tabReportsBySolution" class=""> <a onclick="return false;" href="#" class="x-tab-right"> <em class="x-tab-left"> <span class="x-tab-strip-inner"> <span class="x-tab-strip-text">Select Reports By Solution</span></span></em></a></li>
Я для него, что называется, подобрал mouseDown - только тогда сработало.
#9
Отправлено 12 ноября 2008 - 16:48
Вот об этом-то я и говорю - по коду нельзя однозначно сказать какие события обрабатывает элемент, а в Firebug это можно увидеть и проанализировать. Сейчас же понаразвелось всяких JQuery так что по чистому HTML уже ничего толком сказать нельзя.Согласен. Но по коду видно, что именно onclick и обрабатывается.
А если по коду явно ничего не видно? Что вы скажете насчет такого элемента?
#10
Отправлено 12 ноября 2008 - 16:51
А, вы имели в виду Log events. Теперь понял. :)Вот об этом-то я и говорю - по коду нельзя однозначно сказать какие события обрабатывает элемент, а в Firebug это можно увидеть и проанализировать.
Дык, третьего дня!.. Именно с ними и приходится бороться! Конкретнее - Ext JS.Сейчас же понаразвелось всяких JQuery так что по чистому HTML уже ничего толком сказать нельзя.
#11
Отправлено 13 ноября 2008 - 21:18
Ага, и его тоже. Также там есть возможность просматривать навешенные на элемент обработчики, т.е. конкретные JS-функции.А, вы имели в виду Log events. Теперь понял. :)
#12
Отправлено 19 ноября 2008 - 06:55
#13
Отправлено 19 ноября 2008 - 09:26
А если так: selenium->click('name=enter')? Бывают в селениуме такие глюки. Что говорит selenium.isElementPresent('name=enter')?по selenium->click('enter') ничего не происходит
Не такие уж и неинформативные ошибки в IE, как минимум можно найти строку в которой возникает ошибка. Эта страничка доступна внешнему миру, можно на неё посмотреть?
#14
Отправлено 19 ноября 2008 - 12:10
http://85.90.197.122/idomЭта страничка доступна внешнему миру, можно на неё посмотреть?
Это на нашем сервере, который смотрит наружу
Selenium вроде как находит элемент. В любом случае сегодня будем пытаться локализовать баг
#15
Отправлено 19 ноября 2008 - 12:27
Дык там же по клику вылетает JS-исключение "show_auth_form is not defined", по крайней мере в FF. Селениум вполне успешно нажимает на эту ссылку и всё верно - вылетает исключение, правьте страничку, пишите функцию :)http://85.90.197.122/idom
Это на нашем сервере, который смотрит наружу
#16
Отправлено 19 ноября 2008 - 13:26
http://85.90.197.122/idomЭта страничка доступна внешнему миру, можно на неё посмотреть?
Это на нашем сервере, который смотрит наружу
Selenium вроде как находит элемент. В любом случае сегодня будем пытаться локализовать баг
Извиняюсь, я дурак селениум совершенно не при чём. Проблема была в билд скрипте CruiseControl в итоге мы тестируем совсем не то.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных