Python+selenium之測試報告(2)


 1 # -*- coding: utf-8 -*-
 2 import HTMLTestReport
 3 import HTMLTestRunner
 4 import os
 5 import sys
 6 import time
 7 import unittest
 8 from selenium import webdriver
 9 
10 
11 class Baidu(unittest.TestCase):
12     def setUp(self):
13         self.driver = webdriver.Firefox()
14         self.driver.implicitly_wait(30)
15         self.driver.maximize_window()
16         # self.base_url = "https://www.baidu.com"
17         # self.driver.get(self.base_url)
18         self.driver.get("https://www.baidu.com")
19 
20     def test_case1(self):
21         """設計測試失敗case"""  # *****效果是在測試報告中顯示顯示出測試名稱*****
22         print("========【case_0001】打開百度搜索 =============")
23         # current_time = time.strftime("%Y-%M-%D-%H-%M-%S", time.localtime(time.time()))
24         # "."表示創建的路徑為當.py文件所處的地址,\\是用\將“\”轉義
25         # pic_path = '.\\result\\image\\' + current_time + '.png'
26         current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
27         pic_path = '.\\result\\image\\' + '2017-07-17\\' + current_time + '.png'
28         print(pic_path)  # 打印圖片的地址
29         time.sleep(2)
30         self.driver.save_screenshot(pic_path)  # 截圖,獲取測試結果
31         self.assertEqual('百度一下,你就知道', self.driver.title)  # 斷言判斷測試是否成功,判斷標題是否為百度(設計失敗的case)
32 
33     def test_case2(self):
34         """設計測試過程中報錯的case"""
35         print("========【case_0002】搜索selenium =============")
36         self.driver.find_element_by_id("kw").clear()
37         self.driver.find_element_by_id("kw").send_keys(u"selenium")
38         self.driver.find_element_by_id('su').click()
39         time.sleep(2)
40         # current_time = time.strftime("%Y-%M-%D-%H-%M-%S", time.localtime(time.time()))
41         current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
42         # "."表示創建的路徑為當.py文件所處的地址,\\是用\將“\”轉義
43         pic_path = '.\\result\\image\\'+'2017-07-17\\' + current_time + '.png'
44         print(pic_path)  # 打印圖片的地址
45         time.sleep(2)
46         self.driver.save_screenshot(pic_path)  # 截圖,獲取測試結果
47         self.assertIn('selenium', self.driver.title)  # 斷言書寫錯誤,導致case出錯
48 
49     def test_case3(self):
50         """設計測試成功的case"""
51         print("========【case_0003】 搜索夢雨情殤博客=============")
52         self.driver.find_element_by_id("kw").clear()
53         self.driver.find_element_by_id("kw").send_keys(u"夢雨情殤")
54         self.driver.find_element_by_id('su').click()
55         # current_time = time.strftime("%Y-%M-%D-%H-%M-%S", time.localtime(time.time()))
56         current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
57         # "."表示創建的路徑為當.py文件所處的地址,\\是用\將“\”轉義
58         pic_path = '.\\result\\image\\2017-07-17\\' + current_time + '.png'
59         print(pic_path)  # 打印圖片的地址
60         time.sleep(2)
61         self.driver.save_screenshot(pic_path)  # 截圖,獲取測試結果
62 
63         self.assertIn('夢雨情殤', self.driver.title)
64 
65     def tearDown(self):
66         self.driver.quit()
67 
68 
69 if __name__ == "__main__":
70     '''生成測試報告'''
71     current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
72     testunit = unittest.TestSuite() # 定義一個單元測試容器
73     testunit.addTest(Baidu("test_case1")) #將測試用例加入到測試容器內
74     testunit.addTest(Baidu("test_case2"))
75     testunit.addTest(Baidu("test_case3"))
76     report_path = ".\\result\\SoftTestReport_" + current_time + '.html'  # 生成測試報告的路徑
77     fp = open(report_path, "wb")
78     runner = HTMLTestReport.HTMLTestRunner(stream=fp, title=u"自動化測試報告", description='自動化測試演示報告', tester='fyr')
79     # runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"自動化測試報告", description='自動化測試演示報告')
80     runner.run(testunit)
81     fp.close()

注意事項:

  1.獲取當前時間的格式為:

%Y-%m-%d-%H_%M_%S 而不是 %Y-%M-%D-%H-%M-%S
2.填寫的截圖存放地址“\”,要用轉義字符“\”進行轉義,變為“\\”
3.
runner = HTMLTestReport.HTMLTestRunner(stream=fp, title=u"自動化測試報告", description='自動化測試演示報告', tester='fyr')的測試報告如圖所示:

  4.runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"自動化測試報告", description='自動化測試演示報告') 的效果圖如圖所示:

 

 
        
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM