python下selenium测试报告整合
使用过一段时间的Robot Framework测试框架,测试之前需要先搭环境,需要安装的东西很多,这一点个人有些排斥。
每一个测试内容对应一个Test_Case,Robot有自己语法格式,如判断、循环。实际使用中发现导入自定义Lib莫名报错,很是头疼。
脚本编写完成,可以在UI界面运行,也可以使用命令行pybot + Robot项目运行。
Robot最大的优点,自动生成html格式的测试报告,免去脚本中一大堆测试结果处理、保存动作。缺点上文已描述,需要搭建环境,自定义语法个人很排斥。
于是,这几天在网上寻找测试报告模板,最终觉得HTMLTestRunner非常不错。
一、下载、配置
1.下载HTMLTestRunner.py文件:地址http://tungwaiyip.info/software/HTMLTestRunner.html
2.将该文件保存在python安装路径下的lib文件夹中。
二、使用
1.基本用法
1.1 import unittest
1.2 定义一个继承自unittest.TestCase的测试用例类
1.3 定义setUp和tearDown,在每个测试用例前后做一些辅助工作。
1.4 定义测试用例,名字以test开头。
1.5 一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。
1.6 调用unittest.main()启动测试
1.7 如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。
2.unittest模块的常用方法
assertEqual(a, b) a == b
assertNotEqual(a, b) a != b
assertTrue(x) bool(x) is True
assertFalse(x) bool(x) is False
assertIs(a, b) a is b 2.7
assertIsNot(a, b) a is not b 2.7
assertIsNone(x) x is None 2.7
assertIsNotNone(x) x is not None 2.7
assertIn(a, b) a in b 2.7
assertNotIn(a, b) a not in b 2.7
assertIsInstance(a, b) isinstance(a, b) 2.7
assertNotIsInstance(a, b) not isinstance(a, b) 2.7
3.测试用例
#coding:utf-8
import unittest
import time
import randomimport HTMLTestRunnerclass Test_Class(unittest.TestCase):def setUp(self):self.seq = range(10)def test_shuffle(self): # make sure the shuffled sequence does not lose any elements random.shuffle(self.seq) self.seq.sort() self.assertEqual(self.seq, range(10)) # should raise an exception for an immutable sequence print("test_shuffle")self.assertRaises(TypeError, random.shuffle, (1,2,3)) def test_choice(self): element = random.choice(self.seq) print("test_choice")self.assertTrue(element in self.seq) def test_sample(self): with self.assertRaises(ValueError): random.sample(self.seq, 20) for element in random.sample(self.seq, 5): self.assertTrue(element in self.seq)def sun(self):self.temp = 5 + 6print("sun test")self.assertEqual(self.temp,11)if __name__ == "__main__":testsuite = unittest.TestSuite() # 添加测试用例到测试集中testsuite.addTest(Test_Class("test_shuffle"))testsuite.addTest(Test_Class("test_choice"))testsuite.addTest(Test_Class("test_sample"))testsuite.addTest(Test_Class("sun"))# 生成测试报告文件filename = 'D:\\result.html'fp = file(filename, 'wb')runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='测试结果',description='测试报告.')
# runner = unittest.TextTestRunner()runner.run(testsuite)
运行后测试结果会生成为D:\\result.html 的文件,当然测试结果的文件名称你可以随意命名,或者根据时间自动生成。直接打开后就可以看到测试结果。
三、测试报告
四、使用说明
1.test_case中print信息出现在report中,运行批处理窗口没有打印信息。
2.Python shell中运行同样如此
但还有一个问题,Python shell中运行时未产生测试报告,测试报告文件大小为0
转载于:https://www.cnblogs.com/hester/p/4703054.html
python下selenium测试报告整合相关推荐
- python下selenium模拟浏览器常见操作
本文主要记录下selenium的常见操作,如定位具体元素的不同方法.在具体元素内循环.提取文本等.具体代码如下: # -*- coding: utf-8 -*- ''' Created on 2019 ...
- Python下Selenium PhantomJs设置header的方法
2019独角兽企业重金招聘Python工程师标准>>> 代码 话不多说,直接上代码 from selenium import webdriver from selenium.webd ...
- Selenium UI自动化测试(四)Python+Unittest+HTMLTestRunner测试报告—百度hao123实例
Python+Unittest+HTMLTestRunner测试报告-百度个人中心实例 环境配置:https://blog.csdn.net/sevensolo/article/details/100 ...
- python下的selenium和PhantomJS
一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览 ...
- [python爬虫] Selenium定向爬取海量精美图片及搜索引擎杂谈
我自认为这是自己写过博客中一篇比较优秀的文章,同时也是在深夜凌晨2点满怀着激情和愉悦之心完成的.首先通过这篇文章,你能学到以下几点: 1.可以了解Python简单爬取图片的一些思路和方 ...
- python自动化--selenium
python自动化–selenium 一. 思想 selenium 中多个 WebDriver 实例对应一个 chromedriver 进程,一个 chromedriver 进程管理多个 chrome ...
- python selenium脚本_怎样开始写第一个基于python的selenium脚本
1.下载并安装python(http://www.python.org/geti/). 2.安装selenium(http://pypi.python.org/pypi/selenium)下载并解压缩 ...
- 使用Python在Selenium WebDriver中获取WebElement的HTML源代码
我正在使用Python绑定来运行Selenium WebDriver. from selenium import webdriver wd = webdriver.Firefox() 我知道我可以抓住 ...
- [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论
前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...
最新文章
- Java项目:前后端分离疫情防疫平台设计和实现(java+springmvc+VUE+node.js+mybatis+mysql+springboot+redis+jsp)
- 单片机干嘛的?嵌入式是单片机吗?
- 贪污经费,撤销院士称号!
- 消费者行为模型_市场调查消费者行为研究模型
- SharePoint 2010: 设计BCS工作流
- Redis面试题详解
- 204787 ,194787 |0001 1131 0001 4226 7035 ![2480 ]
- linux系统监控和进程管理
- 《淘宝网开店 SEO 推广 营销 爆款 实战200招》——1.3 网上开店的热门行业有哪些...
- 正确理解springboot的常用注入方式
- 使用timerfd实现定时器功能
- oracle 查看数据库启动时间同步,oracle rac CTSS时钟同步模式转换为NTP同步模式的实施记录(4)...
- 手机如何连接远程桌面?
- Unity 增加2D游戏的打击感笔记
- 腾讯qq的授权管理查看页面
- js 浏览器窗口活跃监听
- 信用风险计量模型简述
- FusionCharts基本使用
- 五、DML(数据操纵语句)
- 【集训DAY1】Dwarves line up【线段树】