RF(接口自動化測試)


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
"""
-- 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 : 多測師

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM