- 安裝
- 項(xiàng)目文件結(jié)構(gòu)
- 測(cè)試用例
- Demo
- 安裝以及依賴軟件
可運(yùn)行平臺(tái):windows、Linux、macOS,推薦系統(tǒng):Linux/macOS
安裝方式: pip install httprunner
依賴的Python版本:Python 3.4及以上版本
- 項(xiàng)目文件結(jié)構(gòu)
1.分為2種,一種是測(cè)試用例分層結(jié)構(gòu),一種是測(cè)試用例不分層結(jié)構(gòu)
利用項(xiàng)目腳手架直接創(chuàng)建測(cè)試用例分層結(jié)構(gòu),如此一個(gè)基本的測(cè)試用例分層結(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.測(cè)試用例不分層結(jié)構(gòu),就是根據(jù)項(xiàng)目需要?jiǎng)?chuàng)建文件,兩種結(jié)構(gòu)見截圖

-
測(cè)試用例
用例支持格式:YAML格式以及JSON格式
測(cè)試用例結(jié)構(gòu)(拷貝自官網(wǎng)):
測(cè)試用例結(jié)構(gòu).png
測(cè)試用例組織中三個(gè)基礎(chǔ)概念:測(cè)試套件、測(cè)試用例、測(cè)試步驟。
三者的關(guān)系為測(cè)試套件包含多個(gè)/一個(gè)測(cè)試用例(YAML/JSON),一個(gè)測(cè)試用例包含多個(gè)/一個(gè)測(cè)試步驟(STEP),測(cè)試步驟對(duì)應(yīng)YMAL/JSON文件中的test,包含單個(gè)接口的全部內(nèi)容,包括發(fā)起請(qǐng)求,解析響應(yīng)結(jié)果,校驗(yàn)結(jié)果。
數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)為list of dict ,以JSON格式的數(shù)據(jù)為例
[
{
"config": {...}
},
{
"test": {...}
},
{
"test": {...}
}
]
config:整個(gè)測(cè)試用例的全局配置項(xiàng),作用域?yàn)檎麄€(gè)測(cè)試用例(即一個(gè)YAML/JSON文件)
test:測(cè)試步驟的變量空間(context)會(huì)繼承或覆蓋 config 中定義的內(nèi)容;
若某變量在 config 中定義了,在某 test 中沒有定義,則該 test 會(huì)繼承該變量
若某變量在 config 和某 test 中都定義了,則該 test 中使用自己定義的變量值
各個(gè)測(cè)試步驟(test)的變量空間相互獨(dú)立,互不影響;
如需在多個(gè)測(cè)試步驟(test)中傳遞參數(shù)值,則需要使用 extract 關(guān)鍵字,并且只能從前往后傳遞
注意: test的執(zhí)行順序是自上而下執(zhí)行
重點(diǎn)在于理解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/
