Python+Selenium学习--自动生成HTML测试报告
前言
在脚本运行完成之后,除了在log.txt 文件看到运行日志外,我们更希望能生一张漂亮的测试报告来展示用例执行的结果。
HTMLTestRunner 是Python 标准库的unittest 模块的一个扩展。它生成易于使用的HTML 测试报告。HTMLTestRunner 是在BSD 许可证下发布。
首先要下HTMLTestRunner.py 文件(百度自行搜索)。
代码
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#!/usr/bin/env python# -*- codinfg:utf-8 -*-'''@author: Jeff LEE@file: test_baidu.py@time: 2019-08-16 14:07'''import time,osimport unittestfrom selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom test_case import HTMLTestRunnerclass TestBaiDu(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() # 添加智能等待 self.driver.implicitly_wait(30) self.base_url = 'https://www.baidu.com/' def tearDown(self): self.driver.quit() def test_baidu_search(self): u'''百度搜索''' driver=self.driver driver.get(self.base_url) driver.find_element_by_id('kw').send_keys('uniquefu') driver.find_element_by_id('su').click() time.sleep(3) # driver.close() def test_baidu_set(self): u'''百度设置''' driver = self.driver driver.get(self.base_url) # 进入搜索设置页面 elment = driver.find_element_by_link_text('设置') ActionChains(driver).move_to_element(elment).perform() driver.find_element_by_link_text('搜索设置').click() time.sleep(5) # 修改设置 driver.find_element_by_id('s1_2').click() time.sleep(5) # 保存设置 driver.find_element_by_link_text('保存设置').click() # 获取网页上的警告信息并接收警告信息 alert = driver.switch_to_alert().accept() time.sleep(3) # driver.close()if __name__ == '__main__': PATH = lambda p: os.path.abspath( os.path.join(os.path.dirname(__file__), p) ) # 定义个报告存放路径,支持相对路径 report = PATH('Report.html') with open(report, 'wb') as f: testunit = unittest.TestSuite() testunit.addTest(unittest.makeSuite(TestBaiDu)) runner = HTMLTestRunner.HTMLTestRunner(f, verbosity=2, title='百度自动化测试报告--uniquefu', description='百度自动化测试报告') runner.run(testunit) |