亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在機器人框架中添加授權標頭

在機器人框架中添加授權標頭

MMTTMM 2021-09-11 17:33:09
我正在學習機器人框架,API 自動化:*** Settings ***Library  RequestsLibraryLibrary  CollectionsLibrary  String*** Variables ***${headers}       Create Dictionary  Authorization Bearer abcde*** Test Cases ***Make a simple REST API call    [Tags]  API    Create Session  my_json  http://localhost:3000    Log  ${headers}    ${response} =  Get Request  my_json  /posts   headers=${headers}    Log  ${response}    # Check the Response status    Should Be Equal As Strings  ${response.status_code}  403#    ${response} =  Get Request  my_json /posts    ${json} =  Set Variable  ${response.json()}    Log  ${json}    Log  len(${json})    Should Be Equal As Strings  ${json['name']}  rajesh我在 log.html 中收到此錯誤文檔:對使用給定的會話對象發送 GET 請求 alias開始/結束/經過:20181209 18:43:04.159 / 20181209 18:43:04.175 / 00:00:00.016 18:43:04.175 失敗 AttributeError: 'str' 對象沒有屬性 'str'
查看完整描述

3 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

我認為只需要更改創建字典對象。您應該將鍵和值傳遞給它。參考鏈接BuildIn(創建字典)


*** Settings ***

    Library  RequestsLibrary

    Library  Collections

    Library  String


    *** Variables ***

    ${headers}       Create Dictionary  Authorization=“Bearer abcde”



    *** Test Cases ***

    Make a simple REST API call

        [Tags]  API

        Create Session  my_json  http://localhost:3000

        Log  ${headers}

        ${response} =  Get Request  my_json  /posts   headers=${headers}

        Log  ${response}

        # Check the Response status

        Should Be Equal As Strings  ${response.status_code}  403

    #    ${response} =  Get Request  my_json /posts


        ${json} =  Set Variable  ${response.json()}

        Log  ${json}

        Log  len(${json})

        Should Be Equal As Strings  ${json['name']}  rajesh


查看完整回答
反對 回復 2021-09-11
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

問題來自您創建headers字典的方式 - 在套件文件的 Variables 部分中,不能使用關鍵字,它是純粹的賦值。因此,根據您在那里定義變量的方式,“創建字典”是按字面意思理解的 - 它最終作為變量值的字符串的一部分。


在變量部分創建字典的語法是這樣的:


*** Variables ***

&{headers}       Authorization=Bearer abcde

注意變量是如何聲明的——它的前綴不是通常的美元字符,而是一個與號 ( &);因此,您正在指示 Robotframework var 的值將是一個字典。

dict中的鍵值對用相等的char分隔,格式為the_key=the_value. 您不必將值放在引號中(單引號或雙引號) - 相反,如果這樣做,引號將作為值的一部分存儲;例如,它們不是任何類型的分隔符。

最后,如果值是一個字符串并且需要在其中包含多個連續的空白字符,請使用系統變量${SPACE};例如:


*** Variables ***

&{my dict}       myKey=text with ${SPACE} 3 spaces   other=value


查看完整回答
反對 回復 2021-09-11
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

我能夠得到成功的響應,但應該不帶雙引號傳遞令牌。前任 :

${bearerToken}=  Bearere sdkdjflk234jrlksdklflksf


查看完整回答
反對 回復 2021-09-11
  • 3 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號