TOSCA - пытается управлять внутренними столбцами таблицы html элементов - PullRequest
0 голосов
/ 07 января 2020

У меня есть отсканированная таблица, в этой таблице последний столбец для всех строк - это ссылки, ниже я опишу общую структуру html. Дело в том, что когда я управляю, я могу получить доступ только к столбцу (тег td), но не могу получить ссылку (тег a) самостоятельно. Если я использую действие «X input» в теге td, оно говорит мне, что поле не имеет определенного ввода, и «{clicks}» также не работает, потому что Tosca не обнаруживает элемент в правильном положении в браузере. , Я также попытался отсканировать ссылку (тег a) в определении модуля и попытался поместить динамический c xpath с буфером, который указывает номер родительского тега tr, который мне нужен, но это тоже не работает. Кто-нибудь знает обходной путь для этого?

<table>

  <tr>

    <td>...</td>

    <td>...</td>

    ...
  
    ...

    <td><a../></td>

  </tr>

  <tr>

  ...

  ...

1 Ответ

1 голос
/ 10 января 2020

Хитрость заключается в том, чтобы выполнить действие «X input» для TestStepValue для элемента Link, а не для самой ячейки таблицы. Вы можете использовать управление таблицей для перехода к элементу ссылки.

Сначала вам потребуется атрибут модуля для элемента ссылки в атрибуте модуля ячейки таблицы, которой вы управляете. Пока целевая ячейка содержит только один элемент ссылки, вам не нужно беспокоиться о его уникальной идентификации. Фактически, любые идентифицирующие атрибуты этого атрибута модуля должны быть достаточно обобщенными c, чтобы соответствовать любой ссылке в таблице, которой вы, возможно, захотите управлять таким образом.

Например, если ваша таблица выглядит следующим образом:

<table>
    <tr>
        <td>Some data</td>
        <td>Some more data</td>
        <td>
            <a>Link element in another cell</a>
        </td>
    </tr>
    <tr>
        <td>Some data</td>
        <td>Some more data<td>
        <td>
            <a>Link to be clicked</a>
        </td>
    </tr>
</table>

Вашему модулю необходим атрибут модуля Table со структурой, аналогичной приведенной ниже:

Table
    Row
        Cell
            Link

Вы можете отсканировать ссылку и перетащить ее в атрибут модуля ячейки. Вы также можете добавить элемент ссылки в ячейку, выбрав значок ссылки в контекстном меню атрибута модуля ячейки. Эта ссылка на документацию Tricentis имеет хорошее визуальное представление: https://documentation.tricentis.com/en/1110/content/tbox/type_table.htm#Definingcontrolsincells

Затем, если предположить, что целевой ссылкой является третья ячейка строки # 2, наш тестовый шаг будет переходить к ссылке в этом ячейку и выполните действие ввода X для атрибута модуля связи.

Name                    Value           Action Mode
Table                   {NULL}          Select
    $2 (Row)            {NULL}          Select
       $3 (Cell)        {NULL}          Select
            Link        X               Input

По сути, вы перейдете к целевой ссылке через цепочку действий «Выбрать». Затем вы можете выполнить действие ввода для изолированного элемента ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...