PlayWright(十七)- 参数化
1、参数化怎么用
@pytest.mark.parametrize(self,argnams,argvalues,indirect=False,ids=None)
- argnams 参数名,是一个字符串,若有多个参数中间用逗号分隔
- argvalue 参数值,是一个列表,列表中有几个元素,便会生成几个用例
- indirect 默认为False,若为True则表示参数名是一个函数
- ids 可以将用例重命名
2、传一个参数
import pytest
"""
参数化的使用
"""
@pytest.mark.parametrize('num', [1, 2, 3, 4, 5])
def test_01(num):
print(f"传入的参数是:{num}")
2、传多个参数
@pytest.mark.parametrize('a,b,c', [(1, 2, 3), (4, 5, 6)])
def test_01(a, b, c):
print(f"传入的参数分别是:{a},{b},{c}")
@pytest.mark.parametrize('a,b,c', [{1, 2, 3}, {4, 5, 6}])
def test_01(a, b, c):
print(f"传入的参数分别是:{a},{b},{c}")
3、数据驱动
json_file = '具体的json文件路径' # 这里我们填写json的绝对路径 def get_data():
"""
封装处理json数据的
"""
test_data = [] # 先定义一个数据存储器,读取的数据要往这里填 # 打开文件加载
with open(json_file, encoding="utf-8") as f: # 打开json文件夹
case = json.load(f) # 将JSON字符串转换为字典存放到case中 for case_data in case.values(): # 将数据循环拆开,变成元祖格式在放到我们之前的容器中
test_data.append(tuple(case_data.values())) return test_data
import pytest
# 导入了处理数据的文件,方便之后调用函数
from tools.get_data import get_data @pytest.mark.parametrize("name,age", get_data())
def test01(name, age):
print(f"传入的参数分别是:{name},{age}")
PlayWright(十七)- 参数化的更多相关文章
- Jmeter(三十七)循环控制器+交替控制器+事务控制器 完美实现接口字段参数化校验
我们在做接口自动化的时候,常常因为无法灵活的的校验接口字段而烦恼.不能自动校验接口字段的脚本,也就不能称之为接口自动化.因此,我设计了一套组合式的控制器,可以完美的解决这个问题 1:首先我们需要在本地 ...
- (C/C++学习笔记) 十七. 面向对象程序设计
十七. 面向对象程序设计 ● 面向对象程序设计的基本概念 ※ 类实际上是一种复杂的数据类型,它不仅包含不同类型的数据,还包含对这些数据的一些必要的操作. 而对象则是这种复杂的数据类型的一个变量. 类是 ...
- LoadRunner 参数化之 连接数据库进行参数化
LoadRunner 参数化之 连接数据库进行参数化 Loadrunner(简称“LR”)对性能测试的脚本进行参数化时,由于数据量偏大,大家往往都会把数据录入到数据库表里,然后关联到LR,本文将详细介 ...
- playwright自动化项目搭建
这是关于playwright系列介绍的最后一篇.搭建基于 playwright 的自动化项目. GitHub地址: https://github.com/defnngj/playwright-pro ...
- 第十七个知识点:描述和比较DES和AES的轮结构
第十七个知识点:描述和比较DES和AES的轮结构 这是密码学52件事中的第17篇.本周我们描述和比较DES和AES的结构. DES和AES都是迭代分组密码的例子.分组密码通过重复使用一个简单的轮函数来 ...
- playwright结合pytest使用案例
playwright简介 不愧是宇宙最强,它也是目前为止对ui自动化领域里最好的一个库,在selenium之上,还有对应的异步机制,其他见百度不便在此详叙. 本篇经典案例是对我司的veer产品做ui自 ...
- 微软出品自动化神器【Playwright+Java】系列(十二)测试框架的设计与开发
一.前言 大家好,我是六哥! 又有好长一段时间没更文了,不是我懒,而是确实在更文上,没有以前积极了,这里是该自我检讨的. 其实不是我不积极,而是相对更文学习来说,优先级不是最高. 对我而言,目前最重要 ...
- 我的MYSQL学习心得(十七) 复制
我的MYSQL学习心得(十七) 复制 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- lr文件下载脚本(文件参数化重命名)
http://wenku.baidu.com/link?url=6oiIadyF9eFS4VshKbfJDnxrBh2IX919ndi0JO8yoqTRNRNIpavFrZJ9LPVb-FBSfbRY ...
- SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL, ...
随机推荐
- Python 使用QQ 邮箱进行发送邮件及经验总结
今天我带大家实现下简单的发邮件功能.我们要使用到email和smtplib库,这两个库时python自带的,直接import 引用就好了,实现环境python3.6. 对QQ邮箱进行开启SMTP服务 ...
- Caused by: java.net.BindException: Address already in use: JVM_Bind(ActiveMq已经启动)
1.本地启动项目开启两个启动类出错. Error creating bean with name 'brokerService' defined in class path resource [com ...
- Linux 根据名称自动kill掉当前相关进程
ps aux | grep app | grep -v "grep" | awk '{print $2}' | xargs -r kill
- react中受控组件与非受控组件--
非受控组件:随用随取 1 render() { 2 return ( 3 <div> 4 <h1>非受控组件</h1> 5 <form action=&quo ...
- 解决VM虚拟机中IP或域名不能ping通
c4548abb-da65-4f7d-827f-e95dca25a13d 问题 无法ping通域名, 检查事项 确定在同一个子网,能访问DNS服务器. DNS服务器正确设置了正反向解析,且DNS服务器 ...
- Docker私有仓库harbor
Docker私有仓库harbor 目录 Docker私有仓库harbor Harbor私有仓库介绍 Harbor部署 harbor页面不显示排错思路 Harbor的使用 Harbor拉镜像 自制镜像推 ...
- Python分割多空格字符方法
问题: 现有一个字符串 "1 + 5" ,想要获取 1,+,5 这三个元素 做法: str.split(' ') ['1', '', '', '', '', '', '+', '' ...
- Django 有关 models 数据类型介绍:
在model中添加字段的格式一般为: field_name = field_type(**field_options) 一 field options(所有字段共用) 1 null 默认为F ...
- [AGC055A] ABC Identity 题解
[AGC055A] ABC Identity 题解 题目描述 给定长度为 \(3n (1 \le n \le 2e5)\) 的序列,其中字母 A,B,C 各有 \(n\) 个. 一个合法序列 \(T\ ...
- WWDC2023 Session系列:探索XCode15新特性
一.版本说明 XCode 15 beta 发布于 2023 年 6月5日, 可支持 macOS 13.3 或以上版本, 你可以按需下载需要的平台. 二.新增特性 1.代码智能提示 (Code comp ...