selenium学习笔记(HTMLTestRunner测试报告)

之前提到selenium加入unittest框架、可以引入HTMLTestRunner扩展、以此来生成测试报告

首先是分享下载的百度云地址

http://pan.baidu.com/s/1pKUItWR

文件名:HTMLTestRunner.py

下载成功后放入相应的python目录下如: “C:\Python27\Lib”

通过python自带的IDLE

如果没有报错、则说明添加成功

之后是利用之前写好的博客园登录脚本

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 import time
 5 import unittest
 6 
 7 from selenium import webdriver
 8 
 9 
10 class TestCnblogs(unittest.TestCase):
11     def setUp(self):
12         print "自动化测试用例执行开始"
13         self.driver = webdriver.Firefox()
14         self.driver.implicitly_wait(30)
15         # 智能等待30S
16         self.Errors = []
17         # 错误信息列表
18 
19     def tearDown(self):
20         self.driver.quit()
21         self.assertEqual([], self.Errors)
22         # 检查错误信息列表 若不为空则返回显示
23         print "自动化测试用例执行结束"
24 
25     def test_cnblogs_login(self):
26         u"""博客园登录"""
27         driver = self.driver
28         driver.get("http://www.cnblogs.com/")
29         # 测试地址 后面可以添加响应地址
30         driver.find_element_by_css_selector("a[onclick = 'login();return false']").click()
31         driver.find_element_by_css_selector("input[type = 'text']").click()
32         driver.find_element_by_css_selector("input[type = 'text']").send_keys(u"堕落的伊丝莉")
33         # 这里用户名由于是中文前面要加 u
34         driver.find_element_by_css_selector("input[type = 'password']").click()
35         driver.find_element_by_css_selector("input[type = 'password']").send_keys("xxxxxx")
36         # 输入密码、密码当然按照实际内容添加
37         driver.find_element_by_css_selector("input[type = 'submit']").click()
38         time.sleep(2)
39         driver.close()
40 
41 
42 if __name__ == "__main__":
43     unittest.main()

 

这里存在一个问题、如果把生成测试报告的代码内容写在     if __name__ == "__main__":

之下运行成功且不报错、但是生成的html文件内容为空

两种解决方式 一种是在cmd里执行脚本

另一种是写在另一文件加载上面的测试脚本代码

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 from test_case.cnblogs import TestCnblogs
 5 import HTMLTestRunner
 6 import unittest
 7 
 8 testreport = unittest.TestSuite()
 9 
10 testreport.addTest(TestCnblogs("test_cnblogs_login"))
11 filename = "E:\\work\\python project\\selenium_python\\report.html"
12 fp = file(filename, "wb")
13 runner = HTMLTestRunner.HTMLTestRunner(
14         stream=fp,
15         title=u"博客园测试报告",
16         description=u"用例执行情况:"
17 )
18 runner.run(testreport)

这样直接在相应的python开发环境下运行即可成功生成测试报告

posted on 2016-04-29 15:42  堕落的伊丝莉  阅读(1754)  评论(2编辑  收藏  举报