selenium基础(生成测试报告)
测试报告
生成HTML测试报告
- 下载HTMLTestRunner.py包
- 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
下载后,把HTMLTestRunner.py 文件复制到Python 安装路径下的lib文件夹中即可。
- 引入包的方式:from HTMLTestRunner import HTMLTestRunner
在python3中用HTMLTestRunner.py报importError“:No module named 'StringIO'解决办法
原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法。 修改内容:
第94行,将import StringIO修改成import io 第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO() 第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第631行,将print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
第766行,将uo = o.decode('latin-1')修改成uo = e 第772行,将ue = e.decode('latin-1')修改成ue = e
- 以百度关键字搜索为例
from selenium import webdriver#导入浏览器的驱动包
import time#导入时间包
import unittest#导入单元测试包
from HTMLTestRunner import HTMLTestRunner#导入生成HTML报告的包 class Baidu(unittest.TestCase):
def test_baidu_search(self):
driver=webdriver.Firefox()
driver.maximize_window()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
time.sleep(3)
driver.quit() testunit=unittest.TestSuite()#生成单元测试流程
testunit.addTest(Baidu("test_baidu_search"))#加载测试用例
fp=open('D:\\test\\unittest.html','wb')#创建测试报告,以写的方式存入某个路径
runner=HTMLTestRunner(
stream=fp,
title="百度搜索测试",
description="用例执行情况:"
)
runner.run(testunit)
fp.close()
selenium基础(生成测试报告)的更多相关文章
- 19.Selenium+Python生成测试报告
1.代码如下所示: from selenium import webdriver import unittest import HTMLTestRunner class BaiduSearch(uni ...
- 自动化测试基础篇--Selenium unittest生成测试报告(HTMLTestRunner)
如何生成HTMLTestRunner测试报告.接上篇文章,对于unittest框架,运行后,测试结果不便于查看,同时多个case存在的时候,可能会导致case result记录不正确的情况. 为此,引 ...
- Python+selenium自动化生成测试报告
批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
- selenium+Python(生成html测试报告)
当自动化测试完成后,我们需要一份漂亮且通俗易懂的测试报告来展示自动化测试成果,仅仅一个简单的log文件是不够的 HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展, ...
- 记Selenium HTMLTestRunner 无法生成测试报告的总结
使用Python ,HTMLTestRunner 生成测试报告时,遇到很奇怪的问题,明明运行的结果,没有任何报错,就是不生成测试报告,纠结好久.google+baidu搜索结果也不满意,最后终于解 ...
- python+selenium生成测试报告后自动发送邮件
标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...
- Python+Selenium笔记(五):生成测试报告
#HTMLTestRunner代码修改参考 微微微笑 的说明,下面是链接,这个已经说的很详细了 https://www.cnblogs.com/miniren/p/5301081.html (一) 前 ...
- 关于Selenium HTMLTestRunner 无法生成测试报告
解决方法 1: filename = ‘E:\testresult.html’,如果是在windows环境,文件名要使用以下几种格式. ①filename = 'E:\\testresult.html ...
- 9.Selenium+HTMLTestRunner无法生成测试报告(Pycharm)
1.若编辑器为Pycharm,代码无任何错误,且运行成功,但是无法生成测试报告,原因如下:(本质是编辑器原因) 若光标在如图位置,右键显示为“run 'unittest in XX'”,若是显示这种, ...
随机推荐
- 关于windows下远程连接Linux服务器的方法(CentOs)
1.服务器端安装VNC 1) 安装vncserver yum install -y tigervnc-server 2) 修改配置 vi /etc/sysconfig/vncservers 最后两 ...
- NX二次开发-设置对象名称函数UF_OBJ_set_name
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> UF_initialize( ...
- NX二次开发-UF_MODL_ask_distance_tolerance获取建模的长度公差
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize() ...
- Java-javaFx库运用-自动弹跳的球
(1)定义一个名为BallPane的类,用于显示一个弹动的球: (2)定义一个名为BounceBallControl的类,用来使用鼠标动作控制弹球,当鼠标按下的时候动画暂停,当鼠标释放的时候动画恢复执 ...
- mysql中的Date日期格式的问题:只有日期没有时间及格式化时间
只有日期没有时间,把xml中的date改为timestamp 格式化最简单的方法:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", time ...
- openstack nova 源码解析 — Nova API 执行过程从(novaclient到Action)
目录 目录 Nova API Nova API 的执行过程 novaclient 将 Commands 转换为标准的HTTP请求 PasteDeploy 将 HTTP 请求路由到具体的 WSGI Ap ...
- Async_Study
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 5、 postman的鉴权
什么是鉴权? 鉴权(authentication)是指验证用户是否拥有访问系统的权利.常用的有两种鉴权方式,一种是session鉴权,一种是jwt鉴权,相对而言,后者居多. 实例: 比如有一个添加角色 ...
- Spring源码由浅入深系列六 CreateBean过程
- LOG2_8BIT, LOG2_16BIT, LOG2_32BIT, LOG64_8BIT, LOG2
#define LOG2_8BIT(v) (8 - 90/(((v)/4+14)|1) - 2/((v)/2+1)) #define LOG2_16BIT(v) (8*((v)>255) + L ...