Python操作Excel,并结合unittest单元测试框架
第一步:写Excel操作方法
excel_operate.py文件
from openpyxl import load_workbook #引入模块
class MyExcel:
def __init__(self,filepath,sheetname): # 初始化函数在实例化对象时调用
self.wb = load_workbook(filepath)
self.sh = self.wb[sheetname]
# 读取指定单元格的数据
def read_data(self,row,column):
return self.sh.cell(row,column).value
# 读取所有数据
def read_alldate(self):
for index in range(1,self.sh.max_row+1):
print('行号:',index)
for i in range(1,self.sh.max_column+1):
print('列号:',i,'内容:',self.sh.cell(row=index,column=1).value)
# 写入数据
def write_data(self,row,column,content):
self.sh.cell(row,column).value = content
# 保存数据
def save_data(self,filepath):
self.wb.save(filepath)
# excel = MyExcel('testdata.xlsx','Sheet1')
# print(excel.read_data(2,1))
#
# excel.write_data(4,1,'12345678936')
# excel.write_data(4,2,'a1234567')
# excel.save_data('testdata.xlsx')
第二步:写测试用例
test_excel_operate.py文件
import unittest
from excel_operate import MyExcel class TestExcel(unittest.TestCase): @classmethod
def setUpClass(cls):
cls.excel = MyExcel('testdata.xlsx','Sheet1') # 测试用例 读
def test_read_data(self):
pass # 测试用例 写
def test_write_data(self):
# 调用自己的写方法
self.excel.write_data(5, 1, '')
self.excel.write_data(5, 2, 'a1234567')
self.excel.save_data('testdata.xlsx')
第三步:执行测试用例,生成HTML报告
TestSuite_Excel.py文件
import unittest
from HTMLTestRunnerNew import HTMLTestRunner
from test_excel_operate import TestExcel
import time
import os if __name__ == '__main__':
s = unittest.TestSuite()
s.addTests(unittest.TestLoader().loadTestsFromTestCase(TestExcel)) now = time.strftime('%Y%m%d_%H%M%S') filename = open(os.getcwd() + '/ExcelUnittestReport_' + now + '.html','wb')
runner = HTMLTestRunner(
stream = filename,
title = 'Excel单元测试报告',
description = 'Excel单元测试报告',
tester = 'lixiaozhe'
)
runner.run(s)
Python操作Excel,并结合unittest单元测试框架的更多相关文章
- Python+selenium之简单介绍unittest单元测试框架
Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...
- Python+Selenium学习笔记16 - unittest单元测试框架
unittest单元测试框架包括 Test Case, Test Suite, Test Runner, Test Fixture Test Cases 组成Test Suite, Test Run ...
- Python+Selenium框架设计篇之-简单介绍unittest单元测试框架
前面文章已经简单介绍了一些关于自动化测试框架的介绍,知道了什么是自动化测试框架,主要有哪些特点,基本组成部分等.在继续介绍框架设计之前,我们先来学习一个工具,叫unittest. unit ...
- Python+Selenium ----unittest单元测试框架
unittest是一个单元测试框架,是Python编程的单元测试框架.有时候,也做叫做“PyUnit”,是Junit的Python语言版本.这里了解下,Junit是Java语言的单元测试框架,Java ...
- Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型
1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- Selenium(十八):unittest单元测试框架(四) HTML测试报告
1. HTML测试报告 对测试人员来而言,测试的产出很难衡量.换句话说,测试人员的价值比较难以量化和评估,相信这一点对软件测试人员来说深有体会.我们花费了很多时间与精力所做的自动化测试也是如此.所以, ...
- unittest单元测试框架前言
一.在我们没有学习过python语言的时候领导让我们做接口测试 我们都使用工具来做测试,一般常用的如jemeter,postman这些个工具,我来推荐使用postman 这个工具来进行接口测试,有的小 ...
- Selenium 2自动化测试实战26(unittest单元测试框架)
一.unittest单元测试框架 1.认识单元测试 1.断言方法 #计算器类 #coding:utf-8 #计算器类 class Count: def __init__(self,a,b): self ...
- Selenium实战(四)——unittest单元测试框架1
Python中的单元测试框架包含:doctest.unittest.pyttest.nose等,使用unittest单元测试框架不需要自行定义断言失败的提示,并且当一个测试函数执行失败后,后面的测试函 ...
随机推荐
- MySQL之——提示"mysql deamon failed to start"错误的解决方法
网站突然连接不上数据库,于是直接重启了一下服务器.进到cli模式下,执行 service myqsld start 发现还是提示"mysql deamon failed to start&q ...
- <转>xshell的快捷键
xshell中现有的快捷键 快捷方式键 说明 Alt + N 与文件菜单的新建相同 Alt + O 与文件菜单的打开相同 Alt + C 与文件菜单的断开相同 Alt + Enter 切换到全屏模式 ...
- mysql删除重复记录
Solution 1: Add Unique Index on your table: ALTER IGNORE TABLE `TableA` ADD UNIQUE INDEX (`member_id ...
- spark学习1(hadoop集群搭建)
把原先搭建的集群环境给删除了,自己重新搭建了一次,将笔记整理在这里,方便自己以后查看 第一步:安装主节点spark1 第一个节点:centos虚拟机安装,全名spark1,用户名hadoop,密码12 ...
- web容器调用Filter和Servlet顺序学习
web容器调用Filter和Servlet顺序学习 一直对Filter和Servlet在哪里被web容器调用迷惑,后查看tomcat源码,揭开了其面纱.1. 下面是一个简单的时序图: 2. 对上 ...
- nginx + tomcat多实例
一.tomcat 配置多实例(修改两个端口:server端口,tomcat端口) 搭建之前,先确保已安装java和tomcat jdk安装:http://note.youdao.com/notes ...
- 拷贝struts2项目时,运行后启动的是拷贝前的项目
.解决方案: 然后
- let和const命令新总结
let声明变量 新特性 声明的变量仅仅在块级作用域有效 块级作用域:外层作用于无法读取内层作用于周中的变量,内层作用域可以定义外层作用于中的同名变量 不存在变量提升 暂时性死区 只要在块级作用域内存在 ...
- mysql性能优化之索引优化
作为免费又高效的数据库,mysql基本是首选.良好的安全连接,自带查询解析.sql语句优化,使用读写锁(细化到行).事物隔离和多版本并发控制提高并发,完备的事务日志记录,强大的存储引擎提供高效查询(表 ...
- JAVA常见函数
输入函数 : Scanner cin=new Scanner(System.in); int a=cin.nextInt(); //输入一个int数据 double dl=cin.nextDou ...