第一步:写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)

最新文章

  1. 51nod1256(乘法逆元)
  2. 336-Palindrome Pairs
  3. magento 备份
  4. UML:包图
  5. Domino - SGU 101 (欧拉路径)
  6. 热烈祝贺Polymer中文组织站点上线
  7. css动画,css过度,js动画
  8. C++编译程序时的内存分配
  9. C# (using Newtonsoft.Json) Json 转换用法小总结
  10. angular 2 - 002 - 基本概念和使用
  11. inet_addr()和inet_ntoa()使用注意
  12. 解决mysql的内存表“table is full”错误
  13. SD--批量删除订单
  14. MySQL 在各种程序语音的连接字符串(转)
  15. 解题:九省联考2018 秘密袭击CoaT
  16. ResourceBundle.getBundle方法demo
  17. IOS UITableView索引排序功能
  18. 关于chrome浏览器事件拖动的bug(首次点击的时候也触发move的事件)
  19. DIV+CSS实现竖排按钮样式
  20. ajax跨域问题解决方案

热门文章

  1. awk实现替换字符串中指定位置之间的内容
  2. maven 内置属性有哪些?该如何使用?
  3. hive学习6
  4. HTTP的长连接和短连接(转)
  5. js科里化
  6. jQuery Fancybox插件使用参数详解
  7. C#验证类
  8. localstorage存储对象
  9. 理解面向消息的中间件和 JMS
  10. docker安装---CentOS_7