码迷,mamicode.com
首页 > Web开发 > 详细

selenium项目集成测测试报告——HTML测试报告

时间:2018-11-12 14:58:48      阅读:388      评论:0      收藏:0      [点我收藏+]

标签:output   自动   百度搜索   report   快捷   单击   decode   _id   很多   

HTML测试报告

对软件测试人员来讲,测试的产出很难衡量。换句话说,测试人员的价值比较难以量化和评估,相信这一点对软件测试人员来说深有体会。我们花费了很多时间与精力所做的自动化测试也是如此。所以,需要一份漂亮且通俗易懂的测试报告来展示自动化测试成果。显然,一个简单的Log文件是不够的。

HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告。HTMLTestRunner是在BSD许可证下发布的。

下载地址如下:

http://tungwaiyip.info/software/HTMLTestRunner.html

这个扩展非常简单,只有一个HTMLTestRunner.py文件,选中后单击鼠标右键,在弹出的快捷菜单中选择链接另存为,将它保存到本地。安装方法也很简单,将其复制到Python安装目录下即可。

Windows:将下载的文件保存到...\Python\Lib目录下。

1.1 修改HTMLTestRunner

因为HTMLTestRunner.py是基于Python 2开发的,为了使其支持Python 3的环境,需要对其中的部分内容进行修改。下面通过编辑器打开HTMLTestRmmer.py文件。

#94行

import StringIO

修改为

import io

#539行

self.outputBuffer = StringIO.StringIO ()

修改为:

self.outputBuffer = io.StringIO()

#631行

print >>sys.stderr,‘\nTime Elapsed: %s‘(self.stopTime-self.startTime)

修改为:

print(sys.stderr,‘\nTime Elapsed: %s‘(self.stopTime-self.startTime))

#642行

if not rmap.has_key(cls):

修改为:

if not cls in rmap:

#766行

uo = o.decode(‘latin-1‘)

修改为: uo = e

#772行

ue = e.decode(‘latin-1‘)

修改为:

ue = e

 

 

****实例:

在pycharm中新建如下目录:

技术分享图片

test_baidu.py代码如下:

from selenium import webdriver
import unittest
from time import *

class MyDriver(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
self.base_url = "https://www.baidu.com/"
def test_baidu(self):
driver = self.driver
driver.get(self.base_url)
driver.find_element_by_id("kw").send_keys("HTMLTestRunner")
driver.find_element_by_id("su").click()
sleep(3)
title = driver.title
self.assertEqual(title,‘HTMLTestRunner_百度搜索‘)
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()

test_youdao.py代码如下:

from selenium import webdriver
import unittest #导入单元测试框架
from time import *

class MyDriver(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
self.base_url = "http://www.youdao.com/"
def test_youdao(self):
driver = self.driver
driver.get(self.base_url)
driver.find_element_by_xpath(".//*[@id=‘translateContent‘]").clear()
driver.find_element_by_xpath(".//*[@id=‘translateContent‘]").send_keys("webdriver")
driver.find_element_by_xpath(".//*[@id=‘form‘]/button").click()
sleep(2)
title = driver.title
self.assertEqual(title,‘【webdriver】什么意思_英语webdriver的翻译_音标_读音_用法_例句_在线翻译_有道词典‘)
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()

HtmlReport.py代码如下:

import unittest
import time
from HTMLTestRunner import HTMLTestRunner#将HTMLTestRunner模块导入
#指定测试用例为当前文件夹的test_case目录
test_dir=‘./test_case‘
discover=unittest.defaultTestLoader.discover(test_dir,pattern=‘test*.py‘)
if __name__==‘__main__‘:
#按照一定格式获取当前时间
now=time.strftime("%Y-%m-%d %H-%M-%S")
filename=test_dir+‘./‘+now+‘result.html‘
#通过open()方法以二进制写模式打开当前目录下的result.html,如果没有,则自动创建该文件。
fp=open (filename,‘wb‘)
#定义测试报告:stream指定测试报告文件, title用于定义测试报告的标题,description用于定义测试报告的副标题。
runner=HTMLTestRunner(stream=fp,title=‘百度搜索测试报告‘,description=‘用例测试执行情况:‘)
# 运行项目组装的用例
runner.run(discover)
# 关闭报告文件
fp.close()

备注:运行上面HtmlReport.py代码,会在test_case目录下生成2018-11-12 13-41-56result.html的测试报告,使用浏览器打开如下图所示:

技术分享图片

 

selenium项目集成测测试报告——HTML测试报告

标签:output   自动   百度搜索   report   快捷   单击   decode   _id   很多   

原文地址:https://www.cnblogs.com/linxiu-0925/p/9946070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!