Как создать локаторы, которые являются массивами глобально - PullRequest
0 голосов
/ 13 июля 2020

Я создал @{some_locator}= Get WebElements css=article[id^='hello'] a

, и он работает. Он получает все "а" и сохраняет их в массиве; однако, когда я инициализирую этот массив в разделе переменных таким образом, он не работает. Он не создает массив

**Variables**

@{some_locator}  css=article[id^='hello'] a

Обратите внимание: переменная создается в отдельном файле.

1 Ответ

1 голос
/ 13 июля 2020

В первом блоке @{some_locator}= Get webelements ... вы вызываете ключевое слово, которое возвращает список веб-элементов.

Во втором вы создаете массив и передаете ему строку в качестве единственного элемента. Это все равно должен быть массив, но это будет массив с одной строкой.

Если вы хотите использовать этот локатор позже, вам нужно будет использовать синтаксис массива, чтобы вывести локатор из списка локаторы:

Get WebElements  ${some_locator[0]}

Если вы не хотите, чтобы some_locator был списком с одним элементом, вы можете сделать это следующим образом:

*** Variables ***
${some_locator}  css=article[id^='hello'] a

*** Test Cases ***
Example
    @{elements}=  Get webelements  ${some_locator}
...