Robot Framework api 使用 Oauth2 进行测试 - 将生成的令牌传递给其他测试用例

Robot Framework api test with Oauth2 - pass generated token to other test cases

使用与此类似的代码,我能够成功生成令牌并授权下面的请求。这两个动作都发生在一个测试用例中。我尝试创建一个新的测试用例,只复制第二个请求代码,当然它说未经授权。 所以我的问题是,因为我可以在第一个测试用例中生成一个令牌,我必须添加什么才能 use/pass 已经为第二个、第三个、第四个测试用例生成的令牌?

${data}=     Create Dictionary    Token_Name=TestTokenname    grant_type=<grant type>    client_Id=<your Id>     Client_Secret=<Your client secret>    scope=<your scpe>
${headers}=   Create Dictionary    Content-Type=application/x-www-form-urlencoded

${resp}=    RequestsLibrary.Post Request    OA2    identity/connect/token    data=${data}    headers=${headers}
BuiltIn.Log To Console    ${resp}
BuiltIn.Log To Console    ${resp.status_code}
Should Be Equal As Strings    ${resp.status_code}    200
Dictionary Should Contain Value    ${resp.json()}   Testtokenname
${accessToken}=    evaluate    $resp.json().get("access_token")
BuiltIn.Log to Console    ${accessToken}
${token}=    catenate    Bearer    ${accessToken}
BuiltIn.Log to Console    ${token}
${headers1}=  Create Dictionary    Authorization=${token} 

RequestsLibrary.Create Session    GT    <Your Server URL>    verify=${True}        
${resp}=  RequestsLibrary.Get Request  GT    <Your API URL>    headers=${headers1}
Should Be Equal As Strings    ${resp.status_code}    200 ```

在您的代码中,在获取令牌并将其存储在变量中后,立即添加以下代码行。使用此关键字设置的变量在所有后续测试套件、测试用例和用户关键字中全局可用。

Set Global Variable    ${token}

更详细的解释在下面link https://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Set%20Global%20Variable