测试用例模板和例子_测试用例怎么写 实例(常见的二十种软件测试方法详解)
生活随笔
收集整理的這篇文章主要介紹了
测试用例模板和例子_测试用例怎么写 实例(常见的二十种软件测试方法详解)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
編寫測試用例
HttpRunner v3.x支持三種測試用例格式pytest,YAML和JSON。官方強烈建議以pytest格式而不是以前的YAML/JSON格式編寫和維護(hù)測試用例
格式關(guān)系如下圖所示:
圖文解析:
1.postman收集的用例,curl命令行、抓包工具charles/fiddler生成的har,都轉(zhuǎn)換為JSON格式
2.Web平臺中的JSON格式用例也被收集
3.YAML文件與JSON格式相互轉(zhuǎn)換
4.最后將所有的JSON格式文件轉(zhuǎn)換為py文件,用pytest去執(zhí)行用例
最后都是生成pytest去執(zhí)行用例,之前就一直用的pytest框架,所以本人還是很喜歡httprunner的設(shè)計的
用例結(jié)構(gòu)
上篇文章將百度的接口轉(zhuǎn)換成pytest,如下:
from httprunner import HttpRunner, Config, Step, RunRequest, RunTestCase
class TestCaseBaidu(HttpRunner):
config = Config("testcase description").verify(False)
teststeps = [
Step(
RunRequest("/")
.get("https://www.baidu.com/")
.with_headers(
**{
"Host": "www.baidu.com",
"Connection": "keep-alive",
"Cache-Control": "max-age=0",
"sec-ch-ua": '"Chromium";v="88", "Google Chrome";v="88", ";Not A Brand";v="99"',
"sec-ch-ua-mobile": "?0",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Sec-Fetch-Site": "none",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-User": "?1",
"Sec-Fetch-Dest": "document",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
"Cookie": "PSTM=1610459846; BAIDUID=A40AD6AD806FBBED1033903732FFA453:FG=1; BD_UPN=123253; BIDUPSID=898B917A8EF92E036B0F06DC792638A1; __yjs_duid=1_c391922164c20246fd49e4ad821d46c41610613507042; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=33423_33513_33403_33273_33594_33585_26350_33568; delPer=0; BD_CK_SAM=1; PSINO=5; BAIDUID_BFESS=A40AD6AD806FBBED1033903732FFA453:FG=1; COOKIE_SESSION=86630_1_9_6_41_5_0_0_8_2_1_0_0_0_71_0_1612340974_1611912344_1612427533%7C9%23262013_235_1611912339%7C9; BD_HOME=1; ZD_ENTRY=baidu; BA_HECTOR=20ag2180aga18k21mm1g1pegu0r",
}
)
.with_cookies(
**{
"PSTM": "1610459846",
"BAIDUID": "A40AD6AD806FBBED1033903732FFA453:FG=1",
"BD_UPN": "123253",
"BIDUPSID": "898B917A8EF92E036B0F06DC792638A1",
"__yjs_duid": "1_c391922164c20246fd49e4ad821d46c41610613507042",
"BDORZ": "B490B5EBF6F3CD402E515D22BCDA1598",
"H_PS_PSSID": "33423_33513_33403_33273_33594_33585_26350_33568",
"delPer": "0",
"BD_CK_SAM": "1",
"PSINO": "5",
"BAIDUID_BFESS": "A40AD6AD806FBBED1033903732FFA453:FG=1",
"COOKIE_SESSION": "86630_1_9_6_41_5_0_0_8_2_1_0_0_0_71_0_1612340974_1611912344_1612427533%7C9%23262013_235_1611912339%7C9",
"BD_HOME": "1",
"ZD_ENTRY": "baidu",
"BA_HECTOR": "20ag2180aga18k21mm1g1pegu0r",
}
)
.validate()
.assert_equal("status_code", 200)
.assert_equal('headers."Content-Type"', "text/html;charset=utf-8")
),
]
if __name__ == "__main__":
TestCaseBaidu().test_start()
每個用例都是HttpRunner的子類,且必須包含屬性:config和teststeps。
- config:配置測試用例,包含 base_url, verify, variables, export
- teststeps:測試步驟的列表,每個步驟都對應(yīng)一個API請求或調(diào)用另一個測試用例,此外還支持variables/extract/validate/hooks創(chuàng)建極其復(fù)雜的測試用例
鏈?zhǔn)秸{(diào)用
HttpRunner v3.x最重要的功能之一就是支持鏈?zhǔn)秸{(diào)用,使用鏈?zhǔn)秸{(diào)用,不需要記住任何測試用例的信息,在IDE中編寫測試用例時就可以智能完成
總結(jié)
以上是生活随笔為你收集整理的测试用例模板和例子_测试用例怎么写 实例(常见的二十种软件测试方法详解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在WPF中进行碰撞检测
- 下一篇: Discuz!NT 和网站整合