天天看點

接口測試工具_Doraemon接口自動化測試工具

接口測試工具_Doraemon接口自動化測試工具
接口測試工具_Doraemon接口自動化測試工具

這是一個自動生成接口測試測試用例的項目, 您可以通過如下方式使用他

run in python3 當你git clone 該項目後,可以通過如下指令配置你的環境 如果你習慣使用venv環境, 那麼你可以進行如下操作

>>> cd doraemon

>>> . venv/bin/activate

>>> pip3 install -r requirements.txt

測試用例的編寫

在根路徑下找到cases路徑

在cases路徑下, 新增 .json 尾綴的檔案

如果是單個檔案單個case, 可參考如下示例: test_history_day.json

{

  "test_get_history_days": {

    "url": "http://api.juheapi.com/japi/toh",

    "params": "v=&month=&day=&key=1d39d53a70ebed87d5cabbc8b73b96e2",

    "method": "get",

    "desc": "測試曆史上的今天接口, get請求",

    "assert": {

      "result": ["len", 0],

      "error_code": 10005

    }

  }

}

用字典包含字典的結構進行儲存

在上面的示例中, {key: {...}},

檔案名表示生成測試用例中的class的命名(以test開頭,下劃線分割多個單詞)

key表示測試方法名, 如果需要case有序執行, 可以将示例中: test_get_history_days 修改為test_1_get_history_days

key對應的字典, 是這條case中所有的需要用到的參數, 目前支援結構體如下

key value Sample
ResponseType 驗證傳回結構體類型 {"ResponseType": ["type", "dict"]}(支援字段類型驗證)
url 對應接口位址 http://api.juheapi.com/japi/toh
method 請求方法 get
desc 測試報告對應的用例描述資訊 測試曆史上的今天接口, get請求
assert 測試斷言資料 {"result": ["len", 0], "error_code": 10005}
params get方法需要傳遞的資料 v=&month=&day=&key=1d39d53a70ebed87d5cabbc8b73b96e2
data post送出表單資料 {"pno":1,"ps":30,"dtype":"json","key":"4beb9d77d2b95ce9bec6d8363ee5a620"}
json post送出json資料 {"pno":1,"ps":30,"dtype":"json","key":"4beb9d77d2b95ce9bec6d8363ee5a620"}
schema 需要斷言傳回資料的結構體驗證 TODO
headers 請求頭資訊 {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
cookies 需要自定義cookies資訊 字典類型的key value 鍵值對

run.py

當你編寫完成測試用例後, 可以通過以下指令運作測試

python3 run.py

>>> Testing ...

run.py是一個可以接受外部傳參的檔案, 當你需要自定義測試用例路徑/ 測試報告生成路徑 / 測試用例的Pattern時, 可以先通過 python3 run.py --help 來檢視對應的入參後按需修改

?  doraemon [master] ? python3 run.py --help

Usage: run.py [OPTIONS]

Options:

  --cases TEXT    case file path

  --pattern TEXT  get cases file pattern

  --report TEXT   generator report in path

  --help          Show this message and exit.

預設參數配置如下

@click.option('--cases', default='src/testcases/', help="case file path")

@click.option('--pattern', default='*.py', help="get cases file pattern")

@click.option('--report', default='src/report/', help="generator report in path")【文章來源】:

https://github.com/TesterlifeRaymond/doraemon

接口測試工具_Doraemon接口自動化測試工具

推薦文章++++

接口測試工具_Doraemon接口自動化測試工具

*D-TECT - 基于指令行的Web應用程式滲透測試工具

*fox -- 一種主動和被動的易受攻擊的測試工具

*VulnerabilityList 滲透測試漏洞掃描檢測工具

接口測試工具_Doraemon接口自動化測試工具
接口測試工具_Doraemon接口自動化測試工具

繼續閱讀