python之用unittest实现接口参数化示例
示例中获取参数的方法有三种:
1. 从文件(txt)中读取参数
2. 从Excel中读取参数
3. 在代码中直接写参数
def login(username,password):
return 'ok' import unittest
from parameterized import parameterized
import BeautifulReport as bf
import xlrd,xlwt def file_to_list(file_name): #从文件中读取参数
l = []
with open(file_name,encoding='utf-8') as fr:
for line in fr:
line_list = line.strip().split(',')
l.append(line_list)
return l def excel_to_list(file_name): #从Excel中读取参数
l=[]
book=xlrd.open_workbook(file_name)
sheet=book.sheet_by_index(0)
for row in range(1,sheet.nrows):#从第一行开始取值,取到最后一行
l.append(sheet.row_values(row))#将每行的数据存入大列表中,每行数据都是一个list
return l class TestLogin(unittest.TestCase): #在代码中写入参数
@parameterized.expand([
['admin','','ok'],
['admin','','ok'],
['admin','','success'],
['admin','','success'],
])
def test_login1(self,username,password,hope):
'''登录'''
result = login(username,password)
self.assertEqual(hope,result) @parameterized.expand(file_to_list('register_data.txt')) #从文件中读取参数
def test_reg(self,username,password):
'文件注册'
print(username,password) @parameterized.expand(excel_to_list('reg_data.xls')) #从Excel中读取数据
def test_reg1(self,username,password):
'Excel注册'
print(username,password) # unittest.main()
runner = bf.BeautifulReport(unittest.makeSuite(TestLogin))
runner.report(description='登录测试用例',filename='login.html')
以上代码执行结果:
..FF...............
测试已全部完成, 可前往E:\Python学习\pycharm\python脚本\day12查询测试报告
生成的报告如入:

python之用unittest实现接口参数化示例的更多相关文章
- python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 ...
- python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(二)
可以参考 python+requests接口自动化完整项目设计源码(一)https://www.cnblogs.com/111testing/p/9612671.html 原文地址https://ww ...
- python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(已弃用)
前言 1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请 ...
- python selenium 使用unittest 示例
python selenium 使用unittest 示例 并等待某个元素示例 from selenium.webdriver.support.ui import WebDriverWait from ...
- 对比3种接口测试的工具:jmeter+ant;postman;python的requests+unittest或requests+excel
这篇随笔主要是对比下笔者接触过的3种接口测试工具,从实际使用的角度来分析下3种工具各自的特点 分别为:jmeter.postman.python的requests+unittest或requests+ ...
- python 单元测试(unittest)
自动化测试在各大互联网公司全面铺开,那么针对于自动化测试好的设计思想有哪些呢?.....今天我们共同探讨下Unittest之数据驱动(DDT是 “Data-Driven Tests”的缩写). 对于接 ...
- unittest同时支持参数化和生成html报告
最近在用python3.6+unittest+requests做自动化接口测试.发现一个问题,unittest中使用第3方插件parameterized进行参数化,再生成html报告时,运行就会失败. ...
- 接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
- 基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 目录 1. 开发环境2. 主要功能逻辑介绍3. 框架功能简介 4. 数据库的创建 5. 框架模块详细介绍6. Tes ...
随机推荐
- hbase参数配置优化
因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正. 配置优化 zo ...
- fastjson List转JSONArray以及JSONArray转List
1.fastjson List转JSONArrayList<T> list = new ArrayList<T>();JSONArray array= JSONArray.p ...
- 利用BeEF REST API自动化控制僵尸主机
本文首发Freebuf,属于原创奖励计划,未经许可禁止转载. http://www.freebuf.com/articles/network/137662.html 一. 前言 关于BeEF,不再多介 ...
- Parallel 类并行任务(仅仅当执行耗时操作时,才有必要使用)
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...
- 实现一个book类
设计实现一个book类 具体要求 定义义成Book.java,Book 包含书名,作者,出版社和出版日期,这些数据都要定义getter和setter. 定义至少三个构造方法,接收并初始化这些数据. 覆 ...
- 三种方法实现Hadoop(MapReduce)全局排序(1)
我们可能会有些需求要求MapReduce的输出全局有序,这里说的有序是指Key全局有序.但是我们知道,MapReduce默认只是保证同一个分区内的Key是有序的,但是不保证全局有序.基于此,本文提供三 ...
- 【转】localStorage使用总结
原文地址:https://www.cnblogs.com/st-leslie/p/5617130.html 一.什么是localStorage.sessionStorage 在HTML5中,新加入了一 ...
- Django rest framework 源码分析 (1)----认证
一.基础 django 2.0官方文档 https://docs.djangoproject.com/en/2.0/ 安装 pip3 install djangorestframework 假如我们想 ...
- C#中的IntPtr
IntPtr是一个类,用于包装调用WindowsAPI函数的指针,根据平台的不同,底层指针可以是32位或64位:它用以表示指针或句柄的平台特定类型,C#中主要用它调用C++\C封装的DLl库:下面主要 ...
- codeforces660C
Hard Process CodeForces - 660C You are given an array a with n elements. Each element of a is either ...