分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

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

发布时间:2023-09-06 02:22责任编辑:郭大石关键词:HTMLselenium

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测试报告

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved