Python htmlTestRunner生成测试报告Demo
#该代码段是ReadTxt_demo.py 的代码,用户读取txt 文件中的用户信息。 #ReadTxt_demo.py def readTxt(filePath):
fo = open(filePath,'r')
lines = fo.readlines()
for data in lines:
name, pwd = data.split(',') return name,pwd filePath = 'userInfo.txt'
re_name,re_pwd = readTxt(filePath) if __name__=="__main__":
pass
下面的代码是执行测试用例生成测试报告的代码,其中会引用上面的代码的片段,所以需要执行导入操作。
from selenium import webdriver
import unittest
import HTMLTestRunner
import time
import os
from ReadTxt_demo import readTxt from selenium.webdriver.common.keys import Keys class Baidu_Report(unittest.TestCase): def setUp(self):
self.browser=webdriver.Firefox()
self.browser.maximize_window()
self.browser.implicitly_wait(3)
self.base_url="https://pan.baidu.com"
self.verficationErrors=[]
self.accept_next_alert=True
def Login(self):
browser=self.browser
browser.get(self.base_url+'/')
u"""百度云登录""" browser.find_element_by_xpath(".//*[@id='login-middle']/div/div[6]/div[2]/a").click() #引入读取文件模块获取用户名密码
# from ReadTxt_demo import readTxt
filePath = 'userInfo.txt'
re_name, re_pwd = readTxt(filePath) browser.find_element_by_name("userName").clear()
username = browser.find_element_by_name("userName")
username.send_keys(re_name)
username.send_keys(Keys.TAB)
time.sleep(2)
password = browser.find_element_by_name("password")
password.send_keys(re_pwd)
password.send_keys(Keys.ENTER)
time.sleep(3)
browser.close()
def Register(self):
browser=self.browser
browser.get(self.base_url+'/')
u"""立即注册百度账号"""
browser.find_element_by_class_name("link-create").click()
time.sleep(2)
browser.close()
def Link(self):
browser=self.browser
browser.get(self.base_url+'/')
u"""百度首页"""
browser.find_element_by_link_text("百度首页").click()
time.sleep(2)
browser.close()
def tearDown(self):
self.browser.quit()
self.assertEqual([],self.verficationErrors) if __name__ == '__main__':
testunit = unittest.TestSuite()
testunit.addTest(Baidu_Report("Login"))
testunit.addTest(Baidu_Report("Register"))
testunit.addTest(Baidu_Report("Link")) now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
# 打开一个文件,将result写入此file中
filepath = os.path.join(os.getcwd(), 'report')
filename = filepath +"/result" + now + ".html"
fp = open(filename, 'wb') runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
title='百度搜索测试报告',
description='用例执行情况:')
runner.run(testunit)
fp.quit()
Python htmlTestRunner生成测试报告Demo的更多相关文章
- Pycharm使用python3无法通过HTMLTestRunner生成测试报告《转载》
Pycharm使用python3无法通过HTMLTestRunner生成测试报告: https://blog.csdn.net/weixin_38981172/article/details/8238 ...
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
- python selenium-webdriver 生成测试报告
测试最后的一个重要的过程就是生成一份完整的测试报告,生成测试报告的主要是通过python的一个第三方模块HTMLTestRunner.py生成,但是生成的测试报告不是特别的美观,而且没有办法统计测试结 ...
- python selenium-webdriver 生成测试报告 (十四)
测试最后的一个重要的过程就是生成一份完整的测试报告,生成测试报告的主要是通过python的一个第三方模块HTMLTestRunner.py生成,但是生成的测试报告不是特别的美观,而且没有办法统计测试结 ...
- python+selenium生成测试报告后自动发送邮件
标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...
- Appium python自动化测试系列之使用HTMLTestRunner生成测试报告(十三)
13.1 测试报告概述 13.1.1 测试报告的定义 在前面章节我们已经讲了自动化基础的很多东西,如果说掌握了,而且自己动手去练习了,我相信在一些初级的面试中是没任何问题的,今天我们接触的应该算是一 ...
- Python 3+selenium+unittest+HTMLTestRunner生成测试报告
一.下载HTMLTestRunner.py,解压,将它放到 python安装路径的site-packages目录下 https://pan.baidu.com/s/1epWlibxbxWlNoIcxL ...
- Python HTMLTestRunner生成网页自动化测试报告时中文编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6
1. 由于使用Python Selenium做网页自动化测试时,有截取网页上的中文信息保存到测试结果中,最终出现编码错误如下: File "D:/PycharmProjects/AutoTe ...
- 转HTMLTestRunner 生成测试报告
1.HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展.它生成易于使用的 HTML 测试报告 1>下载HTMLTestRunner.py文件,地址为: h ...
随机推荐
- mysql各种集群的优缺点
mysql各种集群的优缺点 1.主从架构:只是有数据备份的功能: 2.主主互备+keepalived:实现数据备份加高可用: 3.主主互备,主主下面分别挂个从: 4.A和B主主互备,把从库都挂到B下, ...
- 求分数1+1/2+1/3+.....+1/n的值
总结:自己理解错了的有以下几点: 1.s初始化的值是0.但数据类型最好定位double双精度类型 2.for循环里面的i<n.不要忘了等号,因为i作为分母,不能为0,所以从1开始, 3.在mai ...
- 动态代理AOP实现方法过滤
上一节实现了动态代理,接下来 有时候,我不需要在每一个方法都要记录日志,做权限验证 等等. 所有就有了这样的需求.AOP实现特定方法过滤,有选择性的来对方法实现AOP 拦截.就是本节标题所示. 举个例 ...
- 三级联动第二种方法 三级联动数据.js
var data = { '0':{2:'北京',25:'天津',24:'上海',31:'重庆',130000:'河北省',140000:'山西省',150000:'内蒙古自治区',210000:'辽 ...
- activemq安装运行及其在springboot中的queue和topic使用
安装activemq 运行 springboot使用 依赖 配置 Producer Consumer ComsumerTopic 使用 安装activemq http://activemq.apach ...
- Select/Poll/Epoll异步IO
IO多路复用 同步io和异步io,阻塞io和非阻塞io分别是什么,有什么样的区别? io模式 对于一次io 访问(以read为例),数据会先拷贝到操作系统内核的缓冲区,然后才会从操作系统内核的缓冲区拷 ...
- 利用 Flask+Redis 维护 IP 代理池
代理池的维护 目前有很多网站提供免费代理,而且种类齐全,比如各个地区.各个匿名级别的都有,不过质量实在不敢恭维,毕竟都是免费公开的,可能一个代理无数个人在用也说不定.所以我们需要做的是大量抓取这些免费 ...
- 「小程序JAVA实战」 小程序私有页面的生命周期以及导航(10)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-10/ 之前讲了小程序全局的生命周期,今天咱们说说单个页面的生命周期!源码:https://gith ...
- 配置Linux接收H3C路由器日志
(1)H3C Device上的配置 # 开启信息中心. <Sysname> system-view [Sysname] info-center enable # 配置发送日志信息到IP地 ...
- pl/sql Command Window
由于工作需要,最近需要执行sql脚本,之前一直在用执行按钮操作,但最近公司制定了一套标准,其中就有执行sql脚本规范: 以前执行存存储过程: 现在修改存储过程如下: 第一步,打开对应窗口: 第二步,输 ...