IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 测试用例的参数化处理 -> 正文阅读

[开发测试]测试用例的参数化处理

自动化测试中常见的参数化方式有如下几种:

1、列表/字典形式 ????????????????????????????????????????2、paramunittest模块

3、parameterized模块 ????????????????????????????????4、csv/excel形式

5、配置文件 ????????????????????????????????????????????????6、DB

1、列表/字典形式存储数据 在数据量比较小的的场景中,将数据存储在列表/字典效率会比较高

列表:

data = [["test","test000@163.com","123456","123456","用户名不符合格式要求"],
                 ["","test000@163.com","123456","123456","请设置用户名"]]

字典:

 data = [{"username":"test","email":"test000@163.com","password":"123456","rep":"123456","expect":"用户名不符合格式要求"},
            {"username":"","email":"test000@163.com","password":"123456","rep":"123456","expect":"请设置用户名"}]

?2、paramunittest模块

数据也是直接写在脚本中的,修饰类,每取一组数据替换一次脚 本中的参数。

1.导入paramunittest模块

2.使用paramunittest.parameterized()注解类

@paramunittest.parametrized(
        ("test","test000@163.com","123456","123456","用户名不符合格式要求"),
        ("","test000@163.com","123456","123456","请设置用户名")
    )

3.定义setParameters()方法获取数据并存入变量

 def setParameters(self,username,email,password,repassword,expect):
        self.username = username
        self.email = email
        self.password = password
        self.repassword = repassword
        self.expect = expect

4.使用变量替换脚本中的常量值

?3、parameterized模块

数据也是直接写在脚本中的,修饰测试用例,每取一组数据 替换一次脚本中的参数。

1.导包

from parameterized import parameterized

2.使用parameterized.expand()注解测试用例

:数据要写在class类中

  @parameterized.expand(
        [("test","test000@163.com","123456","123456","用户名不符合格式要求"),
        ("","test000@163.com","123456","123456","请设置用户名")]
    )

3.定义测试用例方法需带参数,顺序要一致

4.使用变量替换脚本中的常量值

CSV无非就是读取文件将读取的数据按照数组的方式通过for循环来执行

操作CSV文件需要导入csv包

with open("./UnitTest/day2/very_csv.csv","r",encoding="utf-8") as f:
            data = csv.reader(f)

excel类似,不过要注意excel中sheet的操作

操作excel需要?????????import xlrd

#python操作excel
#1.打开excel文件
data = xlrd.open_workbook(r"./UnitTest/day2/very_excel.xlsx")
#2.获取excel的第0个索引的sheet数据
table = data.sheets()[0]
#获取指定sheet页的行数据和列数据
print(table.row_values(1))
print(table.col_values(1))

rows = table.nrows
cols = table.ncols

print(rows)
print(cols)

for i in range(rows):
    for j in range(cols):
        print(table.cell(i,j).value)

?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:49:55  更:2022-05-05 11:50:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:32:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码