没有找到名为“Get Json Value”的关键字Error或我在中使用的任何关键字HttpLibrary.HTTP在机器人框架中

2024-10-01 19:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用robotframeworkhttplibrary自动化API调用,在本例中,我希望获得POST方法生成的令牌的值。这样我就可以在PUT方法上使用它来更改密码。但不幸的是,我遇到了这样一个错误:即使我已经声明了库,也找不到关键字。在

这是一个简单的例子

*** Settings ***
Library  HttpLibrary.HTTP
Library  Collections
Library  JSONLibrary
Library  SeleniumLibrary



*** Variables ***
${web_service}=  http://10.0.50.168:18000

*** Test Cases ***

Create Large JSON Document
    ${document}=  Catenate
    ...  {
    ...  "token" : "oPVo3b3NdkW8uDL2tiyZii"
    ...  }
    Should Be Valid JSON    ${document}
    ${result}=       Get Json Value  ${document}  token
    Should Be Equal  ${result}       "oPVo3b3NdkW8uDL2tiyZii"

Tags: 方法tokenapijson密码putlibrarybe
1条回答
网友
1楼 · 发布于 2024-10-01 19:30:21

您已经将python-3.x设置为一个问号,所以我假设您正在您的机器上运行python3.x。HttpLibraryrobotframework-httplibrary包)是为python2.x设计的,因此它与您的版本不兼容。在这个库中有许多重命名的函数和旧的语法异常处理,所以您无法使用Python3运行它。在

您可以寻求不同的方法,或者将机器的Python&Robot框架安装降级到python2.X兼容版本。在

我看你想叫Should Be Valid JSONGet Json Value。这也可以在不使用HttpLibrary的情况下实现:

您可以使用Python的json库的{}来验证JSON。如果它不是有效的json,它将引发异常。在

您只需将JSON存储到字典中并读取相应的字段,而不是{}。在

下面是一个验证JSON格式的示例,从JSON中获取token,然后按预期断言它:

*** Test Cases ***
Create Large JSON Document
    ${document}=  Catenate
    ...  {
    ...  "token" : "oPVo3b3NdkW8uDL2tiyZii"
    ...  }

    # Verify json is a valid format and set it to dictionary:
    &{JSON}=  Evaluate  json.loads('''${document}''')  json

    # Get token from JSON
    ${result}=  Set Variable  ${JSON['token']}
    Should Be Equal  ${result}       oPVo3b3NdkW8uDL2tiyZii

相关问题 更多 >

    热门问题