python接口測試之mock(二)


上一篇對mock-server已經做了初步的介紹,今天這里繼續接着之前的介紹進行,我們先看之前的mock-server部分,之前編寫了一個登錄的mock,具體json文件見如下的內容:

小王子1110

python接口測試之mock(一)

在現在的軟件開發過程中,特別是app的部分,需要的很多數據以及內容,都是來自server端的API,但是不能保證在客戶端開發的時候,api在 server端已經開發完成,專門等着前端來調用,理想的情況是前端在開發的時候,已經有人寫好了接口,直接調用就可以了,但是這僅僅是理想的情況,很多 時候,現實總是比理想多一層思考和磨難,如果在前端開發的時候,提供api的同學沒有提供,那么怎么辦?等待還是自己先開發,等待肯定是愚蠢的做法,那么 自己開發怎么來解決api提供數據的這個問題,那么使用mock就可以很好的解決,什么是mock?mock簡單的理解就是開發在開發的過程中,需要依賴 一部分的接口,但是對方沒有提供或者環境等等情況,總之是沒有,那么開發使用mock server自己來mock數據,方便自己正常的進行開發和對編寫的功能進行自測。在http://central.maven.org/maven2/com/github/dreamhead/moco-runner/0.12.0/moco-runner-0.12.0-standalone.jar 地址中可以下載到moco-runner-0.12.0-standalone.jar,下載下來就是一個jar,在該地址中,作者對這部分有詳細的說明和啟動mock server方法,這里不在重復的再次說明。

下面我們簡單的編寫一個登錄的,見編寫的login.json字符串:
復制代碼

[
  {
    "request":
    {
      "method":"post",
      "uri":"/login",

      "json":
      {
        "username":"admin",
        "password":"admin",
        "roleID":22
      }
    },
    "response":
    {
     "json":
      {
        "username":"xiaowangzi",
        "stuNo":001,
        "token":"asdgfhh32456asfgrsfss"
        }
    }
  }
]    

 

查看上面的內容,我們可以看出,在UI或者接口的自動化測 試中,我們知道在TDD的模式中,對數據進行分離,這樣也是為了維護的方便,這樣的目的是為了后期自動化測試用例的擴展性,和它的易維護性,那么下來我們來對上面的json文件進行修改下,對response部分的數據進行分離下,把它放在一個文件中,這樣就可以分離了出來,我們把response的內容 從login.json分離到login_response.json切記login.json與login_response.json務必保持在同一 個目錄下,見login.json的內容:

 

[
  {
    "request":
    {
      "method":"post",
      "uri":"/login",

      "json":
      {
        "username":"admin",
        "password":"admin",
        "roleID":22
      }
    },
    "response":
    {
      "file":"login_response.json"
      
    }
  }
]

 

見login_response.json文件的內容:

 

{
    "username":"xiaowangzi",
    "stuNo":001,
    "token":"asdgfhh32456asfgrsfss"
}

 

執行login.json文件后,訪問該接口,看是否OK,見執行login.json文件的命令:

使用Fiddler查看該接口,看是否OK,見如下的截圖:

Fiddler查看響應:

 

下面我們再添加一個業務,就是輸入學生的學號,查詢該學生的詳細信息,直接在login.json文件中完善,見完善后的內容:

 

[
  {
    "request":
    {
      "method":"post",
      "uri":"/login",

      "json":
      {
        "username":"admin",
        "password":"admin",
        "roleID":22
      }
    },
    "response":
    {
      "file":"login_response.json"
      
    }
  }
  ,
  {
    "request":
    {
      "method":"post",
      "uri":"/info",
      "json":
      {
        "token":"asdgfhh32456asfgrsfss",
        "stuNo":"001"
      }
    },
    "response":
    {
      "file":"info.json"
    }
  }
]

 

info.json的內容如下:

{
  "stuInfo":
  {
    "username":"xiaowangzi",
    "stuNo":"001",
    "age":"17",
    "gender":"female"
  },
  "grade":"junior",
  "Math":"89",
  "English":"59"
}

見查詢學生詳細信息接口請求的結果,見如下的Fiddler截圖:

 

這樣就可以構造兩個接口 進行參數的傳遞了.

 


免責聲明!

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



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