HTMLTestRunner--接口測試報告例子
阿新 • • 發佈:2017-06-12
blog name ads spa 只需要 utf-8 詳情 關閉 use
1. 測試代碼如下 python3.5
import os import unittest,json,HTMLTestRunner from urllib import request, parse class Testbdapi(unittest.TestCase): def setUp(self): #如果不需要每個case都預置和清理環境,而是每個class用一次,只需要用setUpClass、tearDownClass代替即可,如果是整個文件只需要用一次,則用要用 setUpModule() 和 tearDownModule() 這兩個函數了,註意是函數,與 TestCase 類同級html報告代碼url = "http://fanyi.baidu.com/v2transapi" def testapi1(self): headers={ "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" } params = { "from":"en", "to":"zh", "query": "hotel" #查詢 } url = "http://fanyi.baidu.com/v2transapi" params=parse.urlencode(params).encode(‘utf-8‘) r = request.Request(url, headers=headers, data=params) page=request.urlopen(r).read() rs=json.loads(page.decode(‘utf8‘)) assert u‘酒店‘ in rs[‘trans_result‘][‘data‘][0][‘dst‘] def testapi2(self): headers={ "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" } params = { "from":"en", "to":"zh", "query": "hot" # } url = "http://fanyi.baidu.com/v2transapi" params=parse.urlencode(params).encode(‘utf-8‘) r = request.Request(url, headers=headers, data=params) page=request.urlopen(r).read() #return page rs=json.loads(page.decode(‘utf8‘)) assert u‘酒店‘ in rs[‘trans_result‘][‘data‘][0][‘dst‘] def tearDown(self): pass if __name__==‘__main__‘: path= r‘test.html‘ open_sys= open(path,‘wb‘) #執行整個類的用例 suite=unittest.TestLoader().loadTestsFromTestCase(Testbdapi) #執行某一個用例 #定義一個測試容器 test = unittest.TestSuite() #將測試用例,加入到測試容器中 test.addTest(Testbdapi("testapi1")) test.addTest(Testbdapi("testapi2")) runner=HTMLTestRunner.HTMLTestRunner( stream=open_sys, #打開寫入流 title=u‘百度翻譯api接口測試報告‘, description=u‘接口測試詳情‘ ) #runner.run(test) runner.run(suite) #寫入用例執行結果 open_sys.close() #關閉寫入流 os.system(‘start test.html‘) #打開html報告
2.將HTMLTestRunner.py 放到python安裝目錄的lib下
python3.*版本,python2.*版本
HTMLTestRunner--接口測試報告例子