Home > Мелочи > Догони убегающую подсказку

Догони убегающую подсказку

Есть сайт с каталогом товаров. При наведении курсора на товар должна всплыть подсказка с правильным текстом – имя товара.

Пример реализации подсказок:

  1. Зайти на google.ru
  2. Навести курсор на логотип гугла.

Появится подсказка – title=”Google”

Всё просто?

Тогда задача:

средствами selenium IDE на указанной странице

  1. навести курсор на логотип
  2. подождать, пока появится подсказка с текстом ‘Google’
  3. сделать скриншот экрана с появившейся подсказкой.

Технически все достижимо.

1)
<tr>
<td>mouseMoveAt</td>
<td>//*[@id=’hplogo’]</td>
<td></td>
</tr>

2)

И подсказка появляется, но в очень неожиданном месте – у меня она появляется в самом левом верхнем углу монитора, под кнопкой “Пуск” моего таскбара. У других она появляется в самом левом верхнем углу окна Firefox.

Попробовали это на одном из вордпресс блогов, наводя курсор на линк, который ведет на страницу с комментариями.

Результат тот же: если сделать это руками, то подсказка появляется под курсором. Если сделать это программно, через Selenium IDE, то подсказка появляется, но аж в верхнем левом углу браузера.

Простейшим решением является отказ от скриншотов, и простая проверка наличия тэга title у элемента плюс уточняем, если тэг содержит правильный текст, но это уже не существенно.

Очень удивило поведение Selenium.

Причина еще разыскивается, а пока что хочу спросить, знает ли кто-нибудь причину такого поведения подсказок?

  1. d3unka
    21 December 2010 at 22:20

    title как атрибут тега, это не подсказка и нету смысла делать mouseOver, так как mouseOver выполняет js событие onMouseOver.

    А в Вашем случае достаточно делать проверку через getAttribute, как и сделали

  2. Мери
    19 January 2011 at 16:17

    кто нибудь объясните пожалуйста по-проще как сделать скриншот в Selenium IDE ?

    • 19 January 2011 at 17:09

      В Selenium IDE есть команда captureEntirePageScreenshot, которой я никогда не пользовался, поэтому сказать о ней что-то внятное не могу.

      Справка говорит, что
      – Saves the entire contents of the current window canvas to a PNG file.
      – Currently this only works in Firefox when running in chrome mode.
      – The Firefox implementation is mostly borrowed from the Screengrab! Firefox extension.

      Вообще Selenium IDE не тот случай, когда можно запустить тесты на ночь и только утром смотреть лог ошибок, за работой Selenium IDE надо постоянно приглядывать. Поэтому необходимости в автоматическом создании скриншотов тут не возникает.

  3. Vanesa
    24 January 2011 at 15:08

    не подскажите как закомментить строку в Selenium IDE ?

    • 24 January 2011 at 15:33

      Никак.

      Сделайте ей Ctrl+X, и перенесите ее куда-нибудь в верхние строки кейса, затем принудительно укажите первую строку, с которой кейс должен начать работу (правой кнопкой по строке и выбрать Set/Clear Start Point).

  4. Linessa
    28 January 2011 at 14:50

    подскажите пожалуйста, почему при конвертировании кода из Selenium IDE в Python ifы закоментиваються и не преобразовываются в нужный для Python вид?

    • 28 January 2011 at 14:59

      Не знаю, с питоном не работаю, и даже не включил его в список поддерживаемых языков при очередном обновлении Selenium IDE до текущей версии.

  5. nataly
    12 June 2014 at 14:42

    Добрый день! Подскажите, пожалуйста, с помощью какого локатора можно проверить, что текст из подсказки появляется на странице при наведении курсора на логотип? Я думала таким способом:

    open
    https://www.google.ru/

    pause
    2000

    mouseMoveAt
    //canvas[@id=’hplogoc’]

    verifyText
    //a[contains(text(),’Чемпионат мира по футболу 2014′)]

    Но, при выполнении команды MouseMovAt подсказка не появляется, хотя тест проходит. А на проверке текста пишет ошибку – false

    • 12 June 2014 at 16:45

      21 December 2010 at 22:20 Reply | Edit
      title как атрибут тега, это не подсказка и нету смысла делать mouseOver, так как mouseOver выполняет js событие onMouseOver.
      А в Вашем случае достаточно делать проверку через getAttribute, как и сделали

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: