1、在線下載 RequestsLibrary 測試庫
- pip install -U robotframework-requests -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
2、在 RobotFrameWork RIDE 工具中創建套件,在套件中導入 RequestsLibrary 庫
3、常用關鍵字
4、請求 get 接口
${header} Create Dictionary YF-BID=zwy YF-JWT=eyJhbGciOiJIUz YF-UID=102299 YF-VER=1.0.0 #定義請求頭 Create Session news https://apipc.xinqgj.com ${header} #創建 http 會話 ${res} Get Request news /cms/1/newses?maxOrMinId=0&size=3 #請求接口 log ${res.content} ${res_json} To Json ${res.content} #將報文文本格式轉換成 json 格式 log ${res_json}
5、請求 post 接口
${header} Create Dictionary YF-BID=zwy YF-JWT=eyJhbGciOiJIUzI1NiIs YF-UID= YF-VER=1.0.0 Content-Type=application/json #定義header頭部信息 ${data} Create Dictionary phone=1777982xxxx pwd=123456 validateCode=hrg3 encryptStr=41b4e6 #定義 body 參數 Create Session api https://apipc.xinqgj.com ${header} #創建 http 會話 ${response} Post Request api /user/login ${data} #請求 post 接口 log ${response.content} #獲取報文文本內容 ${res_json} To Json ${response.content} #將報文文本格式轉換成 json 格式 log ${res_json} Run Keyword If "${res_json}[msg]"=="成功" log pass ... ELSE log failed ${msg} Get From Dictionary ${res_json} msg #字典取值,需要導入 Collections 庫 log ${msg} Should Contain ${msg} 成功 #斷言
6、處理接口依賴關系
- 現有登錄接口 login 和用戶列表接口 userlist
- userlist 接口中的 cookie 依賴於 login 接口返回報文頭中的內容
- 用例結構如下
- suite -- 接口測試用例套件
- testcase -- cms_login
- testcase -- cms_userlist
- suite -- 接口測試用例套件
""" -- login 接口 """ ${header} Create Dictionary Content-Type=application/x-www-form-urlencoded ${data} Create Dictionary userAccount=admin loginPwd=123456 Create Session cms_login http://cms.duoceshi.cn ${header} ${res} Post Request cms_login /cms/manage/loginJump.do ${data} ${res_json} To Json ${res.content} log ${res_json} log ${res.headers} #打印報文頭內容 Set Global Variable ${global_cookie} ${res.headers}[Set-Cookie] #取出報文頭中的 Set-Cookie 值並且設置全局變量
""" -- userlist 接口 """ ${header} Create Dictionary Content-Type=application/x-www-form-urlencoded Cookie=${global_cookie} #調用 login 接口中的全局變量 ${global_cookie} ${data} Create Dictionary startCreateDate= endCreateDate= searchValue= page=1 Create Session cms_userlist http://cms.duoceshi.cn ${header} ${res} Post Request cms_userlist /cms/manage/queryUserList.do ${data} ${res_json} To Json ${res.content} log ${res_json}
7、關鍵字 Fetch From Left 與 Fetch From Right 的用法
- 首先在套件中導入 String 庫,該兩個關鍵字來自於 String 庫
- Fetch From Left 用於截取標記的左邊的字符串
- Fetch From Right 用於截取標記的右邊的字符串
${str} Set Variable 深圳寶安多測師 ${text_left} Fetch From Left ${str} 寶安 # 截取寶安左邊的字符串內容 log ${text_left} ${text_right} Fetch From Right ${str} 寶安 # 截取寶安右邊的字符串內容 log ${text_right} # 結果如下: 20200827 19:59:07.143 : INFO : ${str} = 深圳寶安多測師 20200827 19:59:07.143 : INFO : ${text_left} = 深圳 20200827 19:59:07.144 : INFO : 深圳 20200827 19:59:07.144 : INFO : ${text_right} = 多測師 20200827 19:59:07.145 : INFO : 多測師