Как перейти по ссылке в определенной строке динамически загружаемой таблицы

У меня есть таблица, похожая на приведенную ниже, в приложении WPF. Мы используем Silk Test 17.5 с использованием VB.NET.

введите здесь описание изображения

Таблица динамически загружается на основе последних данных. Мне нужно нажать «По умолчанию» (ссылка) для определенной строки.

например Мне нужно щелкнуть ссылку «По умолчанию» для строки Trump1, Trump2.

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

Токчи


person Tokci    schedule 22.06.2018    source источник
comment
пожалуйста, поделитесь html-кодом для того же?   -  person Murthi    schedule 22.06.2018
comment
его приложение WPF и нет html-кода, используя шпионский объект инструмента, мы получаем xpath, например. //WPFContentControl[@className='GridViewRow'] .. это то, что мы получаем от шпионского объекта инструмента   -  person Tokci    schedule 22.06.2018
comment
тогда почему ты пометил селеном   -  person Murthi    schedule 22.06.2018
comment
Концепции схожи, поэтому пользователи Selenium также могут ответить   -  person Tokci    schedule 22.06.2018
comment
@Tokci - вы получаете элементы с помощью упомянутого выше xpath   -  person Prany    schedule 22.06.2018
comment
нужен образец html для правильного ответа.   -  person cruisepandey    schedule 22.06.2018
comment
@Prany Да, я получаю Xpath   -  person Tokci    schedule 25.06.2018


Ответы (2)


Предполагая, что таблица имеет иерархическую структуру, похожую на HTML, вы сможете сделать следующее:

  1. Найдите ячейку в строке, которую вы ищете, которую легко найти, например. //WPFDataGridCell[@text='Obama'].
  2. Из этой ячейки переместитесь на один шаг вверх по иерархии, используя ...
  3. Теперь вы находитесь в правильном WPFDataGridRow, снова найдите ссылку «По умолчанию» строки с //WPFHyperLink[@caption='Default'].

Собрав все вместе, вы получите локатор вроде //WPFDataGridCell[@text='Obama']/..//WPFHyperLink[@caption='Default'].

Конечно, это только пример, основанный на предоставленной вами информации, поэтому, если вы попробуете его, обязательно выберите атрибуты с помощью шпиона-локатора Silk Test, чтобы убедиться, что вы получаете правильные значения.

person tehlexx    schedule 29.06.2018

SilkTest имеет структуру для поддержки таких пользовательских элементов управления и хороший учебник здесь Теоретически вам нужно:

  1. Перечислите все методы в элементе управления
  2. Из предыдущего листинга (или поговорив с разработчиками) найдите метод для доступа к строкам внутри элемента управления.
  3. Отфильтруйте свои строки и выберите тот, который вам интересен
  4. Из строки вы можете получить ячейку, следуя тому же шаблону (узнайте метод, который дает к ней доступ, получите ее, отфильтруйте)
  5. Нажмите на ссылку

Конечно, как говорится в учебнике, если вы не хотите всегда выполнять эти итерации, вам следует создать несколько утилит более высокого уровня, где вы можете сразу получить ячейку. Пример: GetGridViewRowCell(gridView, cellRow, cellColumn), где cellRows может быть более сложным объектом фильтра, где вы описываете, какая ячейка должна иметь какое значение, чтобы определить правильную строку.

person Bela Tamas Jozsa    schedule 23.06.2018