Robot Framework Regex обработка возвращаемого значения: нет - PullRequest
1 голос
/ 27 января 2020

Я пытаюсь сопоставить возвращаемое значение None с помощью регулярного выражения.

*** Variables ***
${value_regex}   ^null$|^None$

*** Test Case ***
${response} =  Get Request  ${IP} ${api}
Log  ${response.json()}    #will return: {'debug': [{'name': 'Jim', 'value': None}], 'result': 0}
${value} =  Set Variable  ${response.json()['debug'][0]['value']}
Log  ${value}    #will return None
Should Match Regexp    ${value}    ${value_regex}

Я получил ошибку: Arguments: [ None | '^null$|^None$' ] TypeError: expected string or bytes-like object

Есть ли способ обработки возвращаемого значения None?

1 Ответ

3 голосов
/ 28 января 2020

Основной проблемой является тип ${value} - это None, тип данных / объект python, в то время как проверка регулярного выражения ожидает строку.
И это так, потому что метод .json() вызывает различные атрибуты для соответствующих типов - строка, целые числа, числа с плавающей запятой, None.

Самое простое решение - преобразовать его в строку перед сравнением с регулярным выражением:

${value}=    Convert To String    ${value}
Should Match Regexp    ${value}    ${value_regex} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...