Перейти к содержимому

Фотография

Не работает кнопка


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 15

#1 Gnomik

Gnomik

    Активный участник

  • Members
  • PipPip
  • 76 сообщений
  • ФИО:Попов Федор Иванович

Отправлено 07 ноября 2008 - 07:51

Работающая кнопка в браузере не работает при запуске автотеста. В чем может быть проблема?
  • 0

#2 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 07 ноября 2008 - 08:47

Работающая кнопка в браузере не работает при запуске автотеста. В чем может быть проблема?

В хитром обработчике нажатия на кнопку. Вообще говоря, selenium.click() не полностью идентичен клику левой кнопкой. Надо смотреть что там висит на кнопке и генерить нужные события. Я встречался с очень нетривиальными полями ввода, которые требовали не просто определённых событий, но ещё и в определённой последовательности.
  • 0

#3 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 07 ноября 2008 - 08:48

Покажите, пожалуйста, фрагмент теста, где нажимается кнопка, и код самой кнопки.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 Gnomik

Gnomik

    Активный участник

  • Members
  • PipPip
  • 76 сообщений
  • ФИО:Попов Федор Иванович

Отправлено 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")


  • 0

#5 Anthony_BY

Anthony_BY

    Новый участник

  • Members
  • Pip
  • 29 сообщений
  • Город:Минск

Отправлено 09 ноября 2008 - 20:13

попробуйте:
//td/img[@class='buttion' and contains(@onclick,'userForm')]
  • 0

#6 grinder

grinder

    Новый участник

  • Members
  • Pip
  • 18 сообщений

Отправлено 12 ноября 2008 - 15:17

Попробуйте сделать fireEvent на кнопке - какое-то из этих событий должно помочь:
onclick
onmousedown
onmouseup
  • 0

#7 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 12 ноября 2008 - 16:14

какое-то из этих событий должно помочь

Это какой-то неправильный подход, с его помощью делаются неправильные тесты :)
Правильный: берём в руки Firebug и смотрим как оно там на самом деле работает и какие события обрабатывает. Ведь события могут очень хитро обрабатываться и не одно, а несколько или даже все сразу.
  • 0

#8 grinder

grinder

    Новый участник

  • Members
  • Pip
  • 18 сообщений

Отправлено 12 ноября 2008 - 16:45

Правильный: берём в руки Firebug и смотрим как оно там на самом деле работает и какие события обрабатывает. Ведь события могут очень хитро обрабатываться и не одно, а несколько или даже все сразу.

Согласен. Но по коду видно, что именно onclick и обрабатывается.

А если по коду явно ничего не видно? Что вы скажете насчет такого элемента?
<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 - только тогда сработало.
  • 0

#9 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 12 ноября 2008 - 16:48

Согласен. Но по коду видно, что именно onclick и обрабатывается.

А если по коду явно ничего не видно? Что вы скажете насчет такого элемента?

Вот об этом-то я и говорю - по коду нельзя однозначно сказать какие события обрабатывает элемент, а в Firebug это можно увидеть и проанализировать. Сейчас же понаразвелось всяких JQuery так что по чистому HTML уже ничего толком сказать нельзя.
  • 0

#10 grinder

grinder

    Новый участник

  • Members
  • Pip
  • 18 сообщений

Отправлено 12 ноября 2008 - 16:51

Вот об этом-то я и говорю - по коду нельзя однозначно сказать какие события обрабатывает элемент, а в Firebug это можно увидеть и проанализировать.

А, вы имели в виду Log events. Теперь понял. :)

Сейчас же понаразвелось всяких JQuery так что по чистому HTML уже ничего толком сказать нельзя.

Дык, третьего дня!.. Именно с ними и приходится бороться! Конкретнее - Ext JS.
  • 0

#11 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 13 ноября 2008 - 21:18

А, вы имели в виду Log events. Теперь понял. :)

Ага, и его тоже. Также там есть возможность просматривать навешенные на элемент обработчики, т.е. конкретные JS-функции.
  • 0

#12 verber

verber

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 19 ноября 2008 - 06:55

Практически та же самая проблема, но в IE. Есть <a name="eneter"> на нём навешен обработчкик JQuery.click. В Firefox всё прекрасно отрабатывает, а вот в IE6 и IE7 по selenium->click('enter') ничего не происходит. При этом в логе селениума никакой ошибки нет, а браузер выдаёт ошибки JS которые у IE совершенно не информативны. Сталкивался ли кто-нибудь с подобной проблемой?
  • 0

#13 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 19 ноября 2008 - 09:26

по selenium->click('enter') ничего не происходит

А если так: selenium->click('name=enter')? Бывают в селениуме такие глюки. Что говорит selenium.isElementPresent('name=enter')?
Не такие уж и неинформативные ошибки в IE, как минимум можно найти строку в которой возникает ошибка. Эта страничка доступна внешнему миру, можно на неё посмотреть?
  • 0

#14 verber

verber

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 19 ноября 2008 - 12:10

Эта страничка доступна внешнему миру, можно на неё посмотреть?

http://85.90.197.122/idom
Это на нашем сервере, который смотрит наружу

Selenium вроде как находит элемент. В любом случае сегодня будем пытаться локализовать баг
  • 0

#15 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 19 ноября 2008 - 12:27

http://85.90.197.122/idom
Это на нашем сервере, который смотрит наружу

Дык там же по клику вылетает JS-исключение "show_auth_form is not defined", по крайней мере в FF. Селениум вполне успешно нажимает на эту ссылку и всё верно - вылетает исключение, правьте страничку, пишите функцию :)
  • 0

#16 verber

verber

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 19 ноября 2008 - 13:26

Эта страничка доступна внешнему миру, можно на неё посмотреть?

http://85.90.197.122/idom
Это на нашем сервере, который смотрит наружу

Selenium вроде как находит элемент. В любом случае сегодня будем пытаться локализовать баг


Извиняюсь, я дурак селениум совершенно не при чём. Проблема была в билд скрипте CruiseControl в итоге мы тестируем совсем не то. :victory:
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных