python接口自動化:如何在一個yaml文件中放多個接口的用例


在做接口自動化數據驅動的時候,本來打算一個接口對應一個yaml文件,看起來比較清晰,但是組長說一個接口對應一個yaml文件的方法不可行,因為假如項目有上千個接口,那就得新建上千個yaml文件,在打開項目加載的時候就會占用很大一部分資源,加載的會很慢,所以讓我把一個模塊的接口放在一個yaml文件里面,經過兩天的嘗試,最終成功實現

yaml文件格式

login:
  - name: 正常登錄
    request:
     data:
       username: 1251651532
       password: 123456
    extract:
      Admin-Token: '"Admin-Token":"(.*?)"'    #在該接口要提取的變量,key是要保存的到的變量,value是要提取的變量
    validate:
      code: "0"
      deptName: 辦公室
  - name: 異常登錄-username為空
    request:
       data:
        username:
        password: 123456
    validate:
      code: "500"
      deptName:

get_data:
  - name: 獲取客戶信息
    request:
     data: {'customerId': 1}
    validate:
     code: '0'
     ownerUserName: 大大大
  - name: 獲取不存在客戶信息
    request:
     data: {'customerId': 3}
    validate:
     code: '500'
     msg: 服務器響應異常

在接口中調用的時候,只需要給每個接口傳對應的yaml的數據值即可

獲取yaml數據的函數

def read_yaml_file(path,part):
    try:
        with open(make_yaml_path(path), encoding='utf-8') as f:
            caseinfo = yaml.load(stream=f, Loader=yaml.FullLoader)
            new_caseinfo = caseinfo[part]  # 每個接口選擇對應的part,如login
            return new_caseinfo

    except Exception as f:
        log.Logger.error("讀取用例文件異常:異常信息:%s" % str(traceback.format_exc()))

這樣就和一個接口對應一個yaml的使用方法一樣了


免責聲明!

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



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