python - 机器人框架正则表达式处理返回值: None

标签 python regex python-3.x robotframework

我正在尝试通过正则表达式匹配返回值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}

我收到错误:参数:[ 无 | '^null$|^None$'] 类型错误:预期的字符串或类似字节的对象

有没有办法处理返回值None

最佳答案

根本问题是 ${value} 的类型 - 它是 None(Python 数据类型/对象),而正则表达式检查需要一个字符串。
之所以如此,是因为 .json() 方法将不同的属性转换为相应的类型 - 字符串、整数、 float 、None。

最简单的解决方案是在与正则表达式进行比较之前将其转换为字符串:

${value}=    Convert To String    ${value}
Should Match Regexp    ${value}    ${value_regex} 

关于python - 机器人框架正则表达式处理返回值: None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59933823/

相关文章:

python - 在 Python 中组织可选导入

python - softmax 函数的实现为高输入返回 nan

python - 将 128 位的所有排列生成为字节或位,而不是字符串

python - 替换有时加倍的字符的单个实例

java - 如果不是 0 和 1,则返回 false

python-3.x - PyFPDF 无法在指定大小时添加页面

javascript - Html Checkbox,多个具有相同的 'name' 。如果选中,值为 1,如果未选中,值为 0

python - 如何将组添加到模型的每个实例

python - 这个 socket.gaierror 是什么意思?

javascript - 是否可以使用正则表达式匹配字符串的一半或使用匹配组的一半?