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

Фотография

клик только по видимому элементу


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

#1 Элли

Элли

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Нина

Отправлено 25 января 2012 - 16:00

создавая тесты, я сталкиваюсь с проблемой того, что мне нужно щелкнуть только по видимому элементу выпадающего меню. но дело в том, что таких меню может быть несколько и селектор в них одинаков, помимо айдишников, на которые расчитывать нельзя, поскольку написани они на ExtJS и каждый раз меняются и помимо появления display:none. Есть ли какая-либо селениум-команда для того чтоб щелкнуть только по видимому элементу?
  • 0

#2 Vitalik_V

Vitalik_V

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

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 25 января 2012 - 16:13

создавая тесты, я сталкиваюсь с проблемой того, что мне нужно щелкнуть только по видимому элементу выпадающего меню. но дело в том, что таких меню может быть несколько и селектор в них одинаков, помимо айдишников, на которые расчитывать нельзя, поскольку написани они на ExtJS и каждый раз меняются и помимо появления display:none. Есть ли какая-либо селениум-команда для того чтоб щелкнуть только по видимому элементу?

Обращайтесь к элементу по xpath. Он уникален
  • 1

#3 Элли

Элли

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Нина

Отправлено 25 января 2012 - 16:40


создавая тесты, я сталкиваюсь с проблемой того, что мне нужно щелкнуть только по видимому элементу выпадающего меню. но дело в том, что таких меню может быть несколько и селектор в них одинаков, помимо айдишников, на которые расчитывать нельзя, поскольку написани они на ExtJS и каждый раз меняются и помимо появления display:none. Есть ли какая-либо селениум-команда для того чтоб щелкнуть только по видимому элементу?

Обращайтесь к элементу по xpath. Он уникален




к примеру? мы пробовали с помощью xpath=//div[not(contains(@style,'display:none'))]//div//ul//li[.='__'] но оно ничем не помогло
  • 0

#4 Элли

Элли

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Нина

Отправлено 25 января 2012 - 17:08

нашли два выхода:
//div[not(contains(@style, 'display: none;'))]/div/ul/li[contains(.,'___')]

//li[text()='___' and not(ancestor::*[contains(@style,'display: none') or contains(@style, 'visibility: hidden') or contains(@class,'x-hide-display')])]
  • 0

#5 Leoxa

Leoxa

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:Алексей

Отправлено 26 января 2012 - 12:13

для webdriver-а можно делать проверку на видимость: someWebElement.isDisplayed().
по идее должно работать быстрее XPath-ов.
  • 0

#6 Элли

Элли

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Нина

Отправлено 26 января 2012 - 15:06

проверка на видимость срабатывала , а вот клик нет. и тут еще есть такой момент, что тест выполнялся не в самом Selenium, а в NetBeans, если я правильно поняла последний комментарий.
  • 0

#7 appmen

appmen

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

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 26 января 2012 - 15:50

проверка на видимость срабатывала , а вот клик нет. и тут еще есть такой момент, что тест выполнялся не в самом Selenium, а в NetBeans, если я правильно поняла последний комментарий.

может я чего не знаю, но Селеницм это библиотека, а НетБинс это программа, которая использует эту библиотеку. Или в новых версиях в Селениум встроен ланчер?
  • 0

#8 Элли

Элли

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Нина

Отправлено 26 января 2012 - 16:39

ну вот и говорю, что пока я новичок и многое понимаю двухсмысленно :) я селениум могу воспринять и как библиотеку и как тот же IDE, потому для меня лучше уточнять.
  • 0

#9 Leoxa

Leoxa

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:Алексей

Отправлено 26 января 2012 - 16:48

проверка на видимость срабатывала , а вот клик нет.


это 2 разные проблемы, и решать их можно по отдельности. я только предложил свой вариант для решения 1-й проблемы для webdriver'а, который используется в Selenium 2.
  • 0

#10 Элли

Элли

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Нина

Отправлено 26 января 2012 - 17:02


проверка на видимость срабатывала , а вот клик нет.


это 2 разные проблемы, и решать их можно по отдельности. я только предложил свой вариант для решения 1-й проблемы для webdriver'а, который используется в Selenium 2.




за что Вам тоже большое спасибо :)
  • 0


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

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