我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python+Excel+Unittes

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python+Excel+Unittes

整个流程:

使用HTMLTestRunner的Run方法执行用例,用例调用Excel读取方法,将测试数据导入到unittest用例中执行,测试结果返回给HTMLTestRunner。

因为刚接触接口自动化,写的比较简单。后面也会考虑加一个请求类型的封装,excel测试数据也会增加一些字段(如用例是否运行,是否带Headers、cookie,

case依赖,关联数据库,增加日志,定制化HTML,测试结果自动发送邮件等),搞完后再分享出来。

 

整个目录结构:

 

---common 存放公共库

---testcase 

---testdata 存放excel测试数据

---testreport 存放测试报告

---Run_tests 启动测试

 

1. Run_tests.py

使用discover方法构造测试集,用HTMLTestRunner的run()方法启动测试集并生成测试报告。

import time, sys
sys.path.append('./testcase')
sys.path.append('./common')
from HTMLTestRunner import HTMLTestRunner
from unittest import defaultTestLoader



# 指定测试用例为当前文件夹下的 testcase 目录
test_dir = './testcase'
testsuit = defaultTestLoader.discover(test_dir, pattern='*_test.py')


if __name__ == "__main__":

    now = time.strftime("%Y-%m-%d %H_%M_%S")
    filename = './testreport/' + now + '_result.html'
    fp = open(filename, 'wb')
    runner = HTMLTestRunner(stream=fp,
                            title='System Interface Auto Test Report',
                            description='Test Result')
    runner.run(testsuit)
    fp.close()

  

2. 测试Excel档如下:

 

使用公共库中的OperateExcel方法读取,通过excel名和sheet名返回测试数据的列表集合。

def Readexcelrow_of_sheet(filename,sheet_name,row):
    '''返回某个sheet中某一行数据的列表'''
    folder = "C:\\Users\\LENOVO\\PycharmProjects\\Apiautotest-master\\testdata\\"
    fullfilename = folder + filename
    rb = xlrd.open_workbook(fullfilename)
    sheet = rb.sheet_by_name(sheet_name)
    datalist = []
    for i in range(8):
        try:
            data = sheet.cell_value(row,i)
            datalist.append(data)
        except TypeError as f:
            break
    #print (datalist)
    return datalist

def Readexcelalldata_of_sheet(filename,sheet_name):
    '''返回整个sheet的内容的列表'''
    datalistlist =[]
    for i in range(1,100):
        try:
            data = Readexcelrow_of_sheet(filename,sheet_name,i)
            datalistlist.append(data)
        except IndexError as e:
            break
    return datalistlist

  

3. testcase调用该方法读取测试数据后,取出测试数据循环进行request测试,对测试结果进行断言

    def test_login(self):
        self.testcasecount = len(self.testcaseinfo)
        for i in range(len(self.testcaseinfo)):
            data = self.testcaseinfo[i]
            #print (data)
            url =     data[3]
            payload = data[4].encode('utf-8')
            expectedcode = data[5]
            expectedmsg =  data[6]
            expecteddata = data[7]
            headers= {"Content-Type": "application/json"}
            r = requests.post(url,data=payload,headers=headers)
            self.result = r.json()
            self.assertEqual(self.result['code'], expectedcode,msg="code断言失败")
            self.assertEqual(self.result['msg'], expectedmsg,msg="msg断言失败")
            if expecteddata != "":
                print ("检查data字段")
                self.assertEqual(str(self.result['data']), expecteddata,msg="data断言失败")

 

4.测试完成后生成测试报告,报告中可以体现出测试异常的原因。

目前还有个问题:

unittest中实际运行了一个借口的很多条用例,而报告中只会有一条记录。这是因为unittest test case中我只写了一个test方法,循环测试数据。这样写用例更简单,目前在想是从报告中处理,还是测试用例读取部分进行处理。

有想法欢迎给我留言,谢谢。

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python+Excel+Unittes

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python+Excel+Unittes

整个流程:使用HTMLTestRunner的Run方法执行用例,用例调用Excel读取方法,将测试数据导入到unittest用例中执行,测试结果返回给HTMLTestRunner。因为刚接触接口自动化,写的比较简单。后面也会考虑加一个请求类
2023-01-30

python & excel

#!/usr/bin/python# coding: utf-8import osimport reimport sysimport xlrdSERVERS_EXCELFILE = u'/etc/subversion/平台服/平台服务器资料
2023-01-31

python与Excel

1.1 什么是python?Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。被称为胶水语言,Python应用场景广泛,比如WEB开发、网络编程、爬虫、云计算、人工智能、自动化运维、数据分析、游戏开发等……好像有点无所不能
2023-01-31

python写excel

首先需要pip install XlsxWriter#coding=utf-8import xlsxwriter# Create an new Excel file and add a worksheet.workbook = xlsxwr
2023-01-31

python 操作excel

python 读写 excel 有好多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库分别是 xlrd/xlwt、openpyxl。之所以推荐两个库是因为这两个库分别操作的是不同版本的 excel,xlrd 操作的
2023-01-31

Python启动Excel

通过简单的实例实现Python与Excel程序实现交互控制。需要安装pywin32,根据自己的实际情况选择下载版本引入组件import win32com.client, win32process开始启动Excelwin32com.clien
2023-01-31

Python excel 画图

根据linux系统的sar值,画出execl 的折线图。#!/usr/bin/env  python# -*- coding: utf-8 -*-import   commandsimport  xlsxwritersar = "sar -
2023-01-31

python操作Excel

import xlrdimport xlwt import xlutils import win32com#xlrd#打开exceldata = xlrd.open_workbook("I+P.xls")#查看文件中包含sheet的名称sh
2023-01-31

python excel操作

首先在python3.5里,我们可以使用新的python类库,来支持3.x之后的读写excel 针对 03版excel(xls结尾的),我们可以使用xlrd读,xlwt包来写 针对 07版excel(xlsx结尾的),我们可以使用openp
2023-01-31

Python读写Excel

读Excel1 #打开Excek,xlsfile为Excel路径+文件名2 boorRead = xlrd.open_workbook(xlsfile)3 #读取sheet,sheet_name为Excel中sheet的名称4 sheet
2023-01-30

Python: 读写Excel(open

项目周报汇报的时候要做数据汇总,总是要从不同的excel文件中去获取数据最后汇总到一个excel表里面,所以决定用python直接写个自动化脚本来自动执行。用python来读写excel,目前找了2个方法:win32com.client和o
2023-01-31

python对CSV、Excel、txt

一、CSV文件读写1、读取1.1基于python csv库#3.读取csv至字典x,yimport csv# 读取csv至字典csvFile = open(r'G:\训练小样本.csv', "r")reader = csv.reader(c
2023-01-31

python xlrd 读取excel.

文章链接:https://mp.weixin.qq.com/s/fojkVO-AB2cCu7FtDtPBjw之前的文章介绍过关于写入excel表格的方法,近期自己在做一个网站,涉及到读取excel,然后把数据存到数据库,故把操作excel的
2023-01-30

Python处理CSV,Excel,PD

使用Python处理CSV格式数据CSV数据:逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序
2023-01-31

python处理excel文件

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。可从这里下载https://pypi.python.org/pypi。下面分别记录python读和写excel.python
2023-01-31

python 处理excel文件

有两种办法1.使用 Xlrd/xlwt 操作 Excelhttp://liluo.org/blog/2011/01/python-using-xlrd-xlwt-operate-excel/ Xlrd/xlwt库的功能有限,比如有的exce
2023-01-31

python读写excel文件

项目中需要生成excel表格,在网上查了一些资料后,整理记录下。1. 读excel表格 1 ''' 2 读取XLS,XLSX文件 3 ''' 4 def readExcelFile(filename): 5 # 打开工作表 6
2023-01-30

python 加载excel报错

from pandas import Series, DataFrameimport pandas as pdimport numpy as npimport osimport sysreload(sys)sys.setdefultenco
2023-01-31

Python导出Excel图表

Python自动化办公的过程,部分涉及到导出Excel图表;本篇主要讲下使用python代码将excel中的图表导出为图片的开发过程;Python  版本:C:\Users>pythonPython 3.6.0 (v3.6.0:41df79
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录