RobotFrameWork: как я могу использовать функцию в функции? - PullRequest
0 голосов
/ 11 февраля 2019

Итак, в RFW есть хорошее ключевое слово:

Ячейка таблицы должна содержать,

Но теперь нужно проверить текст таблицы на соответствие регулярному выражению.но, похоже, это не сработает, потому что там написано: текст не найден

*** Variables
${pattern2}       ^[0-9]{1}[0-9]{1}

 Table Cell Should Contain    xpath=//div[@id='components_block']/table    2    6   ${pattern2} 

это не сработает: либо я думаю:

Table Cell Should Contain    xpath=//div[@id='components_block']/table    2    6   regexp:^[0-9]{1}[0-9]{1}

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Я обнаружил, что прямое совпадение / попадание в местоположение таблицы выглядит так: xptah = // tr [1] / td [4]

, тогда я мог бы сделать это:

 ${gettext}   Get Text  xpath=//tr[1]/td[4]
    Should Match Regexp  ${gettext}  ^[0-9]{1}[.]{1}[0-9]{1}[0-9]{1}
0 голосов
/ 11 февраля 2019

К сожалению, нет, в Robot Framework вы не можете связывать ключевые слова - использовать выходные данные одного непосредственно как входные данные для другого.Вы должны иметь промежуточные / временные переменные для этого.

В данном случае вы хотите увидеть, имеет ли ячейка таблицы текст, соответствующий определенному регулярному выражению.Поскольку ключевое слово Table Cell Should Contain не поддерживает регулярное выражение в искомом аргументе, а только в обычных строках, его нельзя использовать.
Разбейте эту проверку в 2 этапа - сначала получите текст в ячейке (впеременная temp), а затем посмотрите, соответствует ли оно регулярному выражению с ключевым словом Should Match Regexp:

*** Variables ***
${pattern2}       ^[0-9]{1}[0-9]{1}

*** Testcases ***
A case
    ${temp variable}=    Get Text     xpath=locator_that_will_return_the_specific_cell
    # alternatively, you can use this keyword - if the table is an actual <table> element in the html
    # ${temp variable}=    Get Text     xpath=locator_that_will_return_the_table   2    5
    # now having the text in the cell, see does it match the regexp
    Should Match Regexp    ${temp variable}    ${pattern2}

Что касается значений "locator_that_will_return_the_specific_cell" и "locator_that_will_return_the_table" - я не могу вам сказать,;ни кто-либо другой, без образца HTML.

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