博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium+Python(生成html测试报告)
阅读量:4552 次
发布时间:2019-06-08

本文共 3099 字,大约阅读时间需要 10 分钟。

        当自动化测试完成后,我们需要一份漂亮且通俗易懂的测试报告来展示自动化测试成果,仅仅一个简单的log文件是不够的

        HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告,下载后,将其复制到Python的安装目录即可,

例如,Windows,放在...\python27\Lib目录下

补充知识:

1、Python注释

普通注释用#表示

文本注释,放在类或者方法下面:""" 注释内容 """或者  '''注释内容  '''

2、测试报告以测试时间来命名,防止报告被覆盖

time.time():获取当前时间戳

time.ctime():当前时间的字符串形式

time.localtime():当前时间的struct_time形式

time.strftime():用来获取当前时间,可以讲师时间格式化为字符串

下面是项目集成生成测试报告源码:

test_case文件下的两个测试用例

test_baidu.py

# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.common.exceptions import NoAlertPresentExceptionimport unittest, time, reclass Baidu(unittest.TestCase):    def setUp(self):        self.driver = webdriver.Firefox()        self.driver.implicitly_wait(30)        self.base_url = "https://www.baidu.com/"        self.verificationErrors = []        self.accept_next_alert = True        def test_baidu(self):        u"""百度搜索用例"""        driver = self.driver        driver.get(self.base_url + "/?tn=98012088_5_dg&ch=12")        driver.find_element_by_id("kw").clear()        driver.find_element_by_id("kw").send_keys("select")        driver.find_element_by_id("su").click()                time.sleep(3)               def tearDown(self):        self.driver.quit()if __name__ == "__main__":    unittest.main()

  test_firefox.py

# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.common.exceptions import NoAlertPresentExceptionimport unittest, time, reclass FireFox(unittest.TestCase):    def setUp(self):        self.driver = webdriver.Firefox()        self.driver.implicitly_wait(30)        self.base_url = "http://start.firefoxchina.cn/"        self.verificationErrors = []         self.accept_next_alert = True        def test_firefox(self):         u"""Firefox搜索用例"""        driver = self.driver        driver.get(self.base_url + "/")        driver.find_element_by_id("search-key").clear()        driver.find_element_by_id("search-key").send_keys("selenium webdriver")        driver.find_element_by_id("search-submit").click()        time.sleep(5)		       def tearDown(self):        self.driver.quit()if __name__ == "__main__":    unittest.main()

  执行测试用例的run_test.py

#coding=utf-8import unittest, doctestimport HTMLTestRunnerimport time#相对路径定义用例存放的路径和报告存放路径test_dir='./test_case'test_dir1='./report' #查找对应路径下的测试用例放到discover中discover=unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')#定义带有当前测试时间的报告,防止前一次报告被覆盖now=time.strftime("%Y-%m-%d %H_%M_%S")filename=test_dir1+ '/' +now+ 'result.html'#二进制打开,准备写入文件fp = file(filename, 'wb')#定义测试报告runner =HTMLTestRunner.HTMLTestRunner(	stream=fp,	title=u'搜索测试报告',	description=u'用例执行情况')runner.run(discover)

  最后生成的生成的html测试报告如下:

 

转载于:https://www.cnblogs.com/101718qiong/p/7494873.html

你可能感兴趣的文章
屌丝接盘侠们,孩子可能不是你们亲生的!
查看>>
BZOJ 1854 【SCOI2010】 游戏
查看>>
JavaScript - 匿名函数和闭包
查看>>
负载均衡下的资源文件配置/多站点下的资源文件夹共享(Windows IIS)
查看>>
MySQL firstmatch strategy
查看>>
MS SQL server 2014 创建用户及权限
查看>>
office很抱歉遇到一些临时服务器问题
查看>>
禁止键盘上的刷新键F5等
查看>>
SAP中对于获取订单的状态
查看>>
oracle PL/SQL块
查看>>
CentOS7集群环境Elastic配置
查看>>
【EXCEL】指定の項目の内容一覧を表示
查看>>
Head first java chapter 4 对象的行为
查看>>
luogu_4503【题解】企鹅QQ 哈希
查看>>
linux 面试
查看>>
Linux:Gentoo系统的安装笔记(三)
查看>>
打开IE窗口并最大化显示
查看>>
Windows API SendMessage 和 PostMessage 内部实现
查看>>
服务器发送邮件出现Could not connect to SMTP host错误 解决办法
查看>>
sklearn.preprocessing.LabelBinarizer
查看>>