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

Фотография

Winium обращение к таблице

winium autotest desktop

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

#1 scribe

scribe

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

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Щербакова Наталья
  • Город:Казань

Отправлено 24 мая 2017 - 06:44

В десктопном приложении есть таблица, все что известно о ней, это ее ClassName и Id, как я могу обратиться к ее ячейкам?

 

var IdTable = driver.FindElement(By.XPath("//*[starts-with(@ClassName, 'StringGrid')]")).GetAttribute("Id");

 

Таким способом я могу кликать на таблицу, но получаю доступ только к 3 строке 1 столбцу, и переключиться с нее не могу (а вообще кликает по середине таблице) :

 

var streetlist = driver.FindElements(By.XPath("//*[starts-with(@ClassName, 'StringGrid')]")).ToList();
foreach (var r in streetlist)
   {
        var b = r.FindElements(By.XPath(xpathtable2))[0];
        b.Click();
        b.SendKeys(Keys.Up);
         b.SendKeys(Keys.Left);
   }
 
Как я могу спокойно передвигаться по ячейкам таблицы? иметь доступ ко всем им?

  • 0

#2 checo

checo

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

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 24 мая 2017 - 10:51

Если таблица стандартная, попробуйте подключить Winium.Elements и использовать типизированный элемент.

Пример здесь: https://github.com/2...aster/README.md


  • 0

#3 scribe

scribe

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

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Щербакова Наталья
  • Город:Казань

Отправлено 24 мая 2017 - 11:23

Падает с ошибкой что ссылка на объект не указывает на экземпляр объекта

Что-то мне подсказывает что нет доступа к ячейкам совсем совсем

если использовать xpath = "//*[starts-with(@ClassName, 'StringGrid')]/*"; , то он видит только вертикальную прокрутку

http://i.imgur.com/DMcv04g.jpg

пыталась так же получить количество строк, не получилось, выдает ошибку

var rows = dataGrid.RowCount;


  • 0

#4 checo

checo

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

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 24 мая 2017 - 14:11

Возможно, таблица нестандартная.

Посмотрите, какие свойства выдает UISpy или Inspect.exe. И есть ли у этого объекта в свойствах поддержка TablePattern. Возможно, к другому объекту надо обращаться. Если поддержки этого паттерна нет, тогда проблема с тестируемостью приложения. Ну или посмотреть, может быть, этот грид только внешне грид, а ячейки доступны как отдельные объекты.


  • 1

#5 scribe

scribe

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

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Щербакова Наталья
  • Город:Казань

Отправлено 24 мая 2017 - 14:21

TablePattern пустой, при наведении на всю таблицу(любой ячейке, не кликая, или кликая до того как станет Edit) ClassName=StringGrid, меняется только координаты, и при клике становится Edit или же Combobox

Какие еще варианты могут быть как можно добарться до этих Edit, избегая клика по координатам?

Если он не Table, чем он может тогда быть? Как его обойти можно?

http://imgur.com/a/csUp3

http://i.imgur.com/wrouvW2.jpg


  • 0

#6 checo

checo

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

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 24 мая 2017 - 16:28

Есть контакт с разработчиками приложения?

Хорошо, если они пояснят, откуда этот контрол. Насколько я понимаю, UIAutomation может работать только со стандартным DataGrid.

 

Если контрол из какой-то стандартной библиотеки виджетов, вроде Qt или DevExpress, можно поставить демо-версию TestComplete и попробовать, справится ли он с определением ячеек. Если это в принципе возможно, попробуйте поискать, нет ли бесплатных тестовых инструментов именно для этих виджетов.

 

Таблица может быть собственной, рисованной, и тогда никак не тестируется. Если для таблицы много тестов под автоматизацию, можно договориться, чтоб разработчики сделали какой-то отдельный тестовый интерфейс, например через COM или сокеты.


  • 1

#7 scribe

scribe

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

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Щербакова Наталья
  • Город:Казань

Отправлено 25 мая 2017 - 07:51

Это не стандартная таблица, спасибо за ответы и за помощь


  • 0



Темы с аналогичным тегами winium, autotest, desktop

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

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