功能測試做長了顺少,老感覺很慌,最近學(xué)習(xí)了接口測試王浴,書上的例子比較簡單脆炎,在實際工作了實現(xiàn)了兩遍,都是登錄功能氓辣,流程基本通了秒裕,慢慢擴展到j(luò)enkins 集成,自動 發(fā)送郵件钞啸。接口測試需要有接口文檔几蜻,根據(jù)接口文件來創(chuàng)建測試用例,如果沒有接口文件体斩,就抓包工具來看一個需要填寫那些字段名稱梭稚。
第一步創(chuàng)建測試用例,代碼如下:
import requests,unittest,HTMLTestRunner_PY3
class login(unittest.TestCase):
def setUp(self):
self.url= "替換成你自己的測試地址"
def tearDown(self):
pass
# 正確登錄
def test1(self):
form = {"uid": "HTSSAdmin000000", "pwd": "HTSSAdmin000000"}
r = requests.post(self.url, data=form)
self.assertEqual(r.status_code, 200)
# 用戶名為空
def test2(self):
form = {"uid": " ", "pwd": "HTSSAdmin000000"}
r = requests.post(self.url, data=form)
self.assertEqual(r.status_code, 200)
# 密碼為空
def test3(self):
form = {"uid": "HTSSAdmin000000", "pwd": " "}
r = requests.post(self.url, data=form)
# 用戶名錯誤
def test4(self):
form = {"uid": "HTSSAdmi", "pwd": "HTSSAdmin000000"}
r = requests.post(self.url, data=form)
self.assertEqual(r.status_code, 200)
# 密碼錯誤
def test5(self):
form = {"uid": "HTSSAdmin000000", "pwd": "HTSSA"}
r = requests.post(self.url, data=form)
self.assertEqual(r.status_code, 200)
# 用戶名和密碼都錯誤
def test6(self):
form = {"uid": "HTSSAdmin", "pwd": "HTSSAdmin"}
r = requests.post(self.url, data=form)
self.assertEqual(r.status_code, 200)
#用戶名輸入特殊字符
def test7(self):
form = {"uid": "HTSSAdmin000000", "pwd": "@#@#@##¥#%¥%¥"}
r = requests.post(self.url, data=form)
self.assertEqual(r.status_code, 200)
#密碼輸入特殊字符
def test8(self):
form = {"uid": "@#@#@##¥#%¥%¥", "pwd": "HTSSAdmin"}
r = requests.post(self.url, data=form)
self.assertEqual(r.status_code, 200)
#用戶名輸入長文字
def test9(self):
form = {"uid": "HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000", "pwd": "HTSSAdmin"}
r = requests.post(self.url, data=form)
self.assertIn("登錄錯誤",r.text)
第二步:創(chuàng)建執(zhí)行文件絮吵,代碼如下:
#導(dǎo)入測試用例文件
from yingxinhuitong.hight_new_part.loginPage import login
import unittest, HTMLTestRunner_PY3
# 創(chuàng)建用例套件
def suite():
loginPageCase = unittest.TestSuite()
loginPageCase.addTest(login("test1"))
loginPageCase.addTest(login("test2"))
loginPageCase.addTest(login("test3"))
loginPageCase.addTest(login("test4"))
loginPageCase.addTest(login("test5"))
loginPageCase.addTest(login("test6"))
loginPageCase.addTest(login("test7"))
loginPageCase.addTest(login("test8"))
loginPageCase.addTest(login("test9"))
return loginPageCase
#執(zhí)行程序
if __name__ == '__main__':
#創(chuàng)建html文件弧烤,用于可視化測試報告
with open("高新區(qū)登錄頁面測試.html", "wb") as fi:
runner = HTMLTestRunner_PY3.HTMLTestRunner(stream=fi, title="測試報告", description="詳情")
runner.run(suite())
第三步:找到創(chuàng)建的測試html文件打開效果如下:
測試報告結(jié)果展示