当前位置: 首页 > news >正文

山西建设行政主管部门官方网站邮箱注册申请官网

山西建设行政主管部门官方网站,邮箱注册申请官网,本地网站后台管理建设,上海市城乡建设网站pytest.mark.parametrize(参数名1,参数名2...参数n, [(参数名1_data1,参数名2_data1...参数名n_data1),(参数名1_data2,参数名2_data2...参数名n_data2)]) 场景#xff1a; 定义一个登录函数test_login,传入参数为name,password#xff0c;需要用多个账号去测试登录功能 # …pytest.mark.parametrize(参数名1,参数名2...参数n, [(参数名1_data1,参数名2_data1...参数名n_data1),(参数名1_data2,参数名2_data2...参数名n_data2)]) 场景 定义一个登录函数test_login,传入参数为name,password需要用多个账号去测试登录功能 # test_mod6.py import pytestpytest.mark.parametrize(name,password,[(Jie,223456),(Jack,111111),(Jame,222222)]) def test_login(name,password):db_data {name:[Jie,Jack,Jame],password:{Jie:123456,Jack:111111,Jame:222222}}if name in db_data[name] and str(password) db_data[password][name]:print(f{name} 成功登录系统)elif name in db_data[name] and str(password) ! db_data[password][name]:print(f{name}账号密码输出错误请重新输出)else:print(f{name} 该账号不存在请输入正确的账号)上述代码执行结果 命令行pytest -vs test_mod6.py 结果为 test_mod6.py::test_login[Jie-223456] Jie账号密码输出错误请重新输出 PASSED test_mod6.py::test_login[Jack-111111] Jack 成功登录系统 PASSED test_mod6.py::test_login[Jame-222222] Jame 成功登录系统 PASSED 3 passed in 0.03s 通过pytest.mark.parametrize(参数名,测试数据 )装饰器能够对装饰函数实现参数化测试提高代码复用率通过parametrize中传入参数名和测试数据来实现参数化调用测试用例 parametrize中的参数名对应测试函数中的传入参数名 name password; parametrize中的测试数据是一个list类型 list中存入多个name,password)元祖形式的测试数据[(Jie,223456),(Jack,111111),(Jame,222222)] 多个parametrize组合使用 pytest.mark.parametrize(password,[223456,111111,34567]) pytest.mark.parametrize(name,[Jie,Jame]) def test_login(name,password):db_data {name:[Jie,Jack,Jame],password:{Jie:123456,Jack:111111,Jame:222222}}if name in db_data[name] and str(password) db_data[password][name]:print(f{name} 成功登录系统)elif name in db_data[name] and str(password) ! db_data[password][name]:print(f{name}账号密码输出错误请重新输出)else:print(f{name} 该账号不存在请输入正确的账号) 命令行pytest -vs test_mod6.py 结果为 test_mod6.py::test_login[Jie-223456] Jie账号密码输出错误请重新输出 PASSED test_mod6.py::test_login[Jie-111111] Jie账号密码输出错误请重新输出 PASSED test_mod6.py::test_login[Jie-34567] Jie账号密码输出错误请重新输出 PASSED test_mod6.py::test_login[Jame-223456] Jame账号密码输出错误请重新输出 PASSED test_mod6.py::test_login[Jame-111111] Jame账号密码输出错误请重新输出 PASSED test_mod6.py::test_login[Jame-34567] Jame账号密码输出错误请重新输出 PASSED 6 passed in 0.21s 通过多个parametrize的组合可实现参数化组合后调用测试函数构造不同测试数据的多场景测试 YAML文件 YAML 是专门用来写配置文件的通用数据串行化格式语言非常简洁和强大 基本语法 1、yml文件以缩进代表层级关系 2、缩进空格的个数不重要只要相同层级的元素左对齐即可 3、大小写敏感 4、数据格式为名称:(空格)值 支持的数据结构 对象键值对的集合又称为映射mapping/ 哈希hashes / 字典dictionary数组一组按次序排列的值又称为序列sequence / 列表list纯量scalars单个的、不可再分的值数字、字符串、布尔值# 表示注释从这个字符一直到行尾都会被解析器忽略。 在Pycharm中新建一个YML文件 项目文件夹右键-【new】-【File】-输入 文件名.yml 回车即可生成一个空的yml文件 分别介绍YML文件中的三种数据结构 对象键值对的集合又称为映射mapping/ 哈希hashes / 字典dictionary name: Jie # 对象的键值对使用冒号结构表示注冒号后需要加空格 age : 21 address: 上海浦东 读取YAML文件  import yamldef read_yaml():with open(D:\\Buyer_test_code\\testteach\\testdatas.yml,encodingutf-8) as f:f yaml.safe_load(f)return fif __name__ __main__:y read_yaml()print(y)运行结果 {name: Jie, age: 21, address: 上海浦东} 2.数组 - Jack # 注-后面需要空格 - Jame - Flak 通过 safe_load() 读取结果 [Jack, Jame, Flak] -- Jack- Jame- Flak -- 1- 2- 3 -- python- java- C [[Jack, Jame, Flak], [1, 2, 3], [python, java, C]] 复合结构 对象与数组的结合 name:- Jie- Jack- Jame password:Jie: 223456Jack: 111111Jame: 222222 {name: [Jie, Jack, Jame], password: {Jie: 223456, Jack: 111111, Jame: 222222}} None 用~表示 name: ~ {name: None} 用!!强制转换类型 name:- Jie- Jack- Jame password:Jie: !!str 223456 # !!str 强制把int转换为str类型Jack: !!str 111111Jame: 222222 {name: [Jie, Jack, Jame], password: {Jie: 223456, Jack: 111111, Jame: 222222}} 通过YAML文件实现参数化 -- Jie- 223456 -- Jack- 111111 -- Jame- 222222# 在python输出格式[[Jie, 223456], [Jack, 111111], [Jame, 222222]] import pytest from test_demo7 import read_yamldatas read_yaml(D:\\Buyer_test_code\\testteach\\testdatas.yml) pytest.mark.parametrize(name,password,datas) def test_login(name,password):db_data {name:[Jie,Jack,Jame],password:{Jie:123456,Jack:111111,Jame:222222}}if name in db_data[name] and str(password) db_data[password][name]:print(f{name} 成功登录系统)elif name in db_data[name] and str(password) ! db_data[password][name]:print(f{name}账号密码输出错误请重新输出)else:print(f{name} 该账号不存在请输入正确的账号) 执行结果 test_mod6.py::test_login[Jie-223456] Jie账号密码输出错误请重新输出 PASSED test_mod6.py::test_login[Jack-111111] Jack 成功登录系统 PASSED test_mod6.py::test_login[Jame-222222] Jame 成功登录系统 PASSED 3 passed in 0.18s 通过YAML文件可以做到测试数据与测试代码的分离进一步提高代码的复用性灵活性
http://www.pierceye.com/news/884506/

相关文章:

  • 怎么看出网站是dede做的网页的响应式布局
  • 中国农村建设网站静安广州网站建设
  • 全国 做网站的企业wordpress+编辑模板
  • 网站开发需要的编程软件有哪些海门住房和城乡建设局网站
  • 南宁上林网站建设交换链接是什么
  • 什么网站做简历好api模式网站开发
  • 网站建设与管理专业好吗网络推广seo培训班
  • 常用网站架构辽宁建设工程信息网审计报告
  • 绿色大气网站模板坪山网站建设公司
  • 网站建设动态wordpress禁止自动升级
  • 网站建设网站建设平台网站建设费计入什么科目比较好
  • 豪圣建设项目管理网站公司网站设计与管理
  • 网站开发很难么交互网站图
  • 做网站用什么语音网站开发绪论
  • 中国建设银行徐州分行网站网站如何做视频教程
  • 烟台建站服务荥阳市建设局 网站
  • 网站备案登记推广网站案例
  • 企业网站设计论文摘要怎么写网络广告是什么意思
  • 自建站服务快应用 小程序
  • 上海网站建设过程邯郸网站建设推荐咨询
  • 公司有网站域名 如何做网站wordpress 字段
  • 做网站的类型东莞网页设计制作公司
  • 有品质的网站推广公司网站建设彩铃语
  • wordpress提示更新网站页面seo
  • 建设全国科技中心网站郑州百姓网官网
  • 漂亮网站wordpress 文章统计
  • 广西建设厅培训中心兰州seo网站排名
  • 布吉医院网站建设鞍山市网络销售平台
  • 开发一个网站系统报价wordpress文章摘要
  • 做脚本从网站引流外贸网站建设不可缺少的灵活性