- 安裝
- 項目文件結(jié)構(gòu)
- 測試用例
- Demo
- 安裝以及依賴軟件
可運行平臺:windows售睹、Linux、macOS烤咧,推薦系統(tǒng):Linux/macOS
安裝方式: pip install httprunner
依賴的Python版本:Python 3.4及以上版本
- 項目文件結(jié)構(gòu)
1.分為2種凝果,一種是測試用例分層結(jié)構(gòu)劣领,一種是測試用例不分層結(jié)構(gòu)
利用項目腳手架直接創(chuàng)建測試用例分層結(jié)構(gòu)耘拇,如此一個基本的測試用例分層結(jié)構(gòu)就搞定了(懶人專用)
windows 環(huán)境
D:\>hrun --startproject demo
Start to create new project: demo
CWD: D:\
created folder: demo
created folder: demo\api
created folder: demo\testcases
created folder: demo\testsuites
created folder: demo\reports
created file: demo\debugtalk.py
created file: demo\.env
3.測試用例不分層結(jié)構(gòu)撵颊,就是根據(jù)項目需要創(chuàng)建文件,兩種結(jié)構(gòu)見截圖
-
測試用例
用例支持格式:YAML格式以及JSON格式
測試用例結(jié)構(gòu)(拷貝自官網(wǎng)):
測試用例組織中三個基礎(chǔ)概念:測試套件惫叛、測試用例倡勇、測試步驟。
三者的關(guān)系為測試套件包含多個/一個測試用例(YAML/JSON)嘉涌,一個測試用例包含多個/一個測試步驟(STEP)妻熊,測試步驟對應(yīng)YMAL/JSON文件中的test,包含單個接口的全部內(nèi)容仑最,包括發(fā)起請求扔役,解析響應(yīng)結(jié)果,校驗結(jié)果警医。
數(shù)據(jù)存儲結(jié)構(gòu)為list of dict 亿胸,以JSON格式的數(shù)據(jù)為例
[
{
"config": {...}
},
{
"test": {...}
},
{
"test": {...}
}
]
config:整個測試用例的全局配置項,作用域為整個測試用例(即一個YAML/JSON文件)
test:測試步驟的變量空間(context)會繼承或覆蓋 config 中定義的內(nèi)容预皇;
若某變量在 config 中定義了侈玄,在某 test 中沒有定義,則該 test 會繼承該變量
若某變量在 config 和某 test 中都定義了吟温,則該 test 中使用自己定義的變量值
各個測試步驟(test)的變量空間相互獨立序仙,互不影響;
如需在多個測試步驟(test)中傳遞參數(shù)值溯街,則需要使用 extract 關(guān)鍵字诱桂,并且只能從前往后傳遞
注意: test的執(zhí)行順序是自上而下執(zhí)行
重點在于理解HttpRunner的分層結(jié)構(gòu)以及包含關(guān)系
更多內(nèi)容參考官網(wǎng)例子
了解更多
[requests]: http://docs.python-requests.org/en/master/
[unittest]: https://docs.python.org/3/library/unittest.html
[Locust]: http://locust.io/
[PyUnitReport]: https://github.com/HttpRunner/PyUnitReport
[Jenkins]: https://jenkins.io/index.html
[HttpRunner-blog]: http://debugtalk.com/post/ApiTestEngine-api-test-best-practice/