httprunner學習成長之路---手動編寫一個自動化測試腳本

關注我的公衆號【軟件測試小助手】,一起學習探討測試知識,一起進步~    

公衆號會添加一些趣聞、開發相關等文章 會更加有意思哦~

今天來講解如何手動編寫一個自動化測試腳本

一、首先了解項目各模塊之間構成。

主要講以下三者之間的關係

1、api:用來對接口定義進行描述(相當於單接口測試)

2、testcases:編寫的測試用例場景可以通過引用api的接口描述 (相當於單元測試)

3、testsuites:測試用例集,當測試用例較多的時候,就可以使用testsuits來進行組織管理(相當於集成測試)

二、項目實戰

我這裏找到了一個可以用做接口測試的網址,如下:

http://doc.nnzhp.cn/index.php?s=/6&page_id=12

這裏就是一個簡單的demo,後期慢慢寫複雜的。

說下我的思路:編寫user_create.yaml和user_login.yaml接口文檔,然後通過testcases創建user_create_login.yaml 實現用戶先註冊後登錄的一個流程

ps:注意這裏的文件格式是yaml,和自動生成的格式不一樣哦!

1)第一步,編寫接口api描述

name: user_create  #api 功能描述 -註冊
request:
    url: user/user_reg  #請求路徑 註冊用戶
    method: POST   #請求方式 建議大寫哦!
    data:  #這裏標註下 我嘗試了params沒有作用 注意咯
        username: $username  #接口參數 通過testcase中的variables進行傳值
        pwd: $pwd #接口參數 
        cpwd: $pwd #接口參數 
    verify: False  #用於忽略認證校驗
validate:  #斷言結果 用於判斷執行成功失敗
    - eq: ['status_code',200]  #正常的狀態碼,常見200,500,400等
    - eq: ['content.msg','註冊成功!']
name: user_login  #api 功能描述
request:
    url: user/login  #請求路徑 登錄系統
    method: POST   #請求方式
    data:
      username: $username  #接口參數 通過testcase中的variables進行傳值
      passwd: $pwd #接口參數 通過testcase中的variables進行傳值
validate:
- eq: ['status_code',200]  #斷言結果 用於判斷執行成功失敗
- eq: ['content.error_code',0]  #斷言結果 用於判斷執行成功失敗 斷言返回消息中的內容

2)編寫testcases中腳本,進行用戶創建和登錄操作

- config:
    name: register and login
    base_url: http://api.nnzhp.cn/api/  #設置基本url地址 會自動拼接api中的路徑
    variables: # 定義變量 可以作爲api中的參數
      username: 'xiaowenziaa' #註冊接口只能輸入英文名稱,中文暫不支持
      pwd: 'aA123456' 
- test:
    name: create user
    api: api/user_create.yaml #api路徑  #最終的路徑會和base_url進行拼接
- test:
    name: user_login
    api: api/user_login.yaml #api路徑

3)執行代碼,查看測試報告

這裏提醒一下,在testcases中也可以添加斷言,若testcase中存在斷言時,會先對api中的進行校驗,再對testcase中進行校驗。如下圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章