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

Фотография

Проверка видимости элемента в SmartGWT


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

#1 FibYar

FibYar

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

  • Members
  • Pip
  • 57 сообщений
  • ФИО:Большаков Виталий

Отправлено 26 ноября 2014 - 06:53

Всем доброго дня!

Возникла проблема при автотестировании приложения, построенного на фреймворке, аналогичном SmartGWT.

Имеется публичное демо, в котором видна проблема: http://www.smartclie.../showcase/#main

  1. Открыть любую форму из предложенных (я выбирал "Master detail").
  2. Найти с помощью средств разработчика браузера любой элемент на открывшейся форме (я находил поле ввода "Item Name").
  3. Вернуться на форму "Home" и открыть еще одну любую форму (при этом первая форма оказывается неактивна).
  4. Проверить элемент, найденный на первой форме. Он считается видимым (хотя визуально не отображается).

Собственно, суть вопроса - как определить, является ли элемент SmartGWT видимым на экране? Изначально это задача для Selenium WebDriver. Но метод isDisplayed() всегда возвращает true. Пробовал через JavaScript - тоже не удается: .style.visibility и .style.display всегда (и когда элемент виден, и когда не виден) возвращают пустую строку ("").

Проблема весьма критична, так как в моем приложении на разных формах могут существовать элементы с одинаковыми идентификаторами. Как тогда определить, к какому из них обращаться - непонятно.


  • 0

#2 Vader

Vader

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

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 26 ноября 2014 - 20:51

Как-то так:

getComputedStyle(document.getElementsByName('itemName')[0])['visibility']

  • 1

#3 FibYar

FibYar

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

  • Members
  • Pip
  • 57 сообщений
  • ФИО:Большаков Виталий

Отправлено 27 ноября 2014 - 06:44

 

Как-то так:

getComputedStyle(document.getElementsByName('itemName')[0])['visibility']

Спасибо! Практически то, что нужно.

Правда, когда я говорил, что у меня приложение, лишь аналогичное SmartGWT, это действительно так. И в нём данный вариант не работает (всегда выдает visible). Суть проблемы в том, что в моем приложении содержимое каждой вкладки существует в отдельном фрейме. И скрывается/отображается именно сам фрейм. И вот у фреймов данное свойство уже работает нормально.

Что ж, буду сначала определять, какому фрейму принадлежит нужный элемент, и по видимости фрейма уже определять видимость элемента.

Ещё раз спасибо!


  • 0


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

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