1、對小極客首頁跳轉接口測試
2、寫接口用例
以TestXjkLinks.py命名
1 # --*-- coding:utf-8 --*-- 2 3 import requests 4 import unittest 5 import time 6 7 8 class TestXjkLinks(unittest.TestCase): 9 10 def test_learn(self): 11 u"""首頁學習接口""" 12 url = 'http://www.xiaojike.cn/learn/' 13 result = requests.get(url) 14 time.sleep(1) 15 # 響應狀態碼斷言 16 real_code = result.status_code 17 self.assertEqual(200, real_code) 18 # 未登陸時文案斷言 19 real_text = result.text 20 expect_text = '使用用戶名密碼登錄' 21 self.assertIn(expect_text, real_text) 22 23 def test_explore(self): 24 u"""首頁發現接口""" 25 url = 'http://www.xiaojike.cn/explore/' 26 result = requests.get(url) 27 time.sleep(1) 28 # 響應狀態碼斷言 29 real_code = result.status_code 30 self.assertEqual(200, real_code) 31 # 文案斷言 32 real_text = result.text 33 expect_text = '有趣的作品' 34 self.assertIn(expect_text, real_text) 35 36 def test_login(self): 37 u"""首頁登陸接口""" 38 url = 'http://www.xiaojike.cn/sign_in/' 39 result = requests.get(url) 40 time.sleep(1) 41 # 響應狀態碼斷言 42 real_code = result.status_code 43 self.assertEqual(200, real_code) 44 # 文案斷言 45 real_text = result.text 46 expect_text = '注冊不到1秒鍾' 47 self.assertIn(expect_text, real_text) 48 49 def test_err(self): 50 u"""判斷錯誤的例子""" 51 self.assertNotEqual(3, 3) 52 53 54 if __name__ == '__main__': 55 unittest.main() 56 print('小極客首頁接口測試成功')
3、寫執行測試用例腳本
有興趣的可以保存執行用例的腳本,基本上時通用的
1 # ! /usr/bin/env python3 2 # coding:utf-8 3 4 """ 5 Created on 2018-05-30 6 Project: learning 7 @Author:wuya 8 """ 9 10 import os, time, unittest 11 import HTMLTestRunner 12 13 14 report_path = os.getcwd() # 設置保存報告的路徑,這兒設置的是與執行文件在同一個目錄下 15 now = time.strftime("%Y-%m-%d %H:%M", time.localtime(time.time())) # 獲取當前時間 16 title = u"小極客首頁接口測試" # 標題 17 report_abspath = os.path.join(report_path, title + now + ".html") # 設置報告存放和命名 18 19 # 導入用例 20 def all_case(): 21 case_path = os.getcwd() # 用例路徑,這兒的用例和執行文件在同一目錄下 22 discover = unittest.defaultTestLoader.discover(case_path, 23 pattern="Test*.py") # 添加用例,在case_path的路徑下,所有以Test開頭的文件都當做用例文件執行 24 print(discover) 25 return discover 26 27 28 if __name__ == "__main__": 29 fp = open(report_abspath, "wb") # 保存報告文件 30 runner = HTMLTestRunner.HTMLTestRunner(stream=fp, 31 title=title + ':',) 32 runner.run(all_case()) # 執行用例 33 fp.close()
4、執行查看結果