我正在使用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"
您已经将
python-3.x
设置为一个问号,所以我假设您正在您的机器上运行python3.x。HttpLibrary
(robotframework-httplibrary
包)是为python2.x设计的,因此它与您的版本不兼容。在这个库中有许多重命名的函数和旧的语法异常处理,所以您无法使用Python3运行它。在您可以寻求不同的方法,或者将机器的Python&Robot框架安装降级到python2.X兼容版本。在
我看你想叫
Should Be Valid JSON
和Get Json Value
。这也可以在不使用HttpLibrary
的情况下实现:您可以使用Python的}来验证JSON。如果它不是有效的json,它将引发异常。在
json
库的{您只需将JSON存储到字典中并读取相应的字段,而不是{}。在
下面是一个验证JSON格式的示例,从JSON中获取
token
,然后按预期断言它:相关问题 更多 >
编程相关推荐