ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python基础知识-day9(数据驱动)

2022-06-22 19:31:48  阅读:154  来源: 互联网

标签:文件 day9 python 基础知识 yaml print 驱动 login csv


1、数据驱动的概念

在自动化测试中,需要把测试的数据分离到JSON,YAML等文件中。

2、YAML 的相关知识

YAML 入门教程 分类 编程技术 YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。YAML 的配置文件后缀为 .yml,如:runoob.yml 。基本语法 大小写敏感 使用缩进表示层级关系 缩进不允许使用tab,只允许空格 缩进的空格数不重要,只要相同层级的元素左对齐即可 '#'表示注释

3、json数据驱动案例实战

1)在工程文件testDev下新建一个名为数据驱动的package;

2)在数据驱动包中新建login.json的文件;

3)在login.json文件在中编写如下代码:

1 {
2   "login":{"username": "cch","password":"admin"}
3 }

4)在数据驱动包中新建operationJson的python文件,并编写如下代码:

1 import json
2 def readJson():
3     return json.load(open("login.json"))   #从login.json文件中读取数据
4 print(readJson())
5 print(type(readJson()))
6 
7 print(readJson()["login"]["password"])  #从字典中获取登录的密码

5)运行operationJson文件中的代码后,得到如下结果:

 4、yaml数据驱动案例实战1

1)在工程文件testDev下新建一个名为数据驱动的package;

2)在数据驱动包中新建login.yaml的文件;

3)在login.yaml文件在中编写如下代码:

1 login:
2   username: 无涯      #注意冒号后边需空一格
3   password: admin
4 
5 ali:
6   taobao:
7     shop:
8       name: 无涯课堂

4)在数据驱动包中新建operationYaml的python文件,并编写如下代码:

1 import yaml
2 def readYaml():
3     with open(file="login.yaml",mode="r",encoding="utf-8") as f:
4         return yaml.safe_load(f)
5 print(readYaml())
6 print(type(readYaml()))
7 print(readYaml()["login"]["password"])
8 print(readYaml()["ali"]["taobao"]["shop"]["name"])

5)运行operationYaml文件中的代码,得到如下结果:

 4、yaml数据驱动案例实战2

1)在工程文件testDev下新建一个名为数据驱动的package;

2)在数据驱动包中新建data.yaml的文件;

3)在data.yaml文件在中编写如下代码:

1 ---      #注意须添加“---”表示列表
2 login:
3   username: 无涯
4 ---
5 login:
6   username: wuya

4)在数据驱动包中新建operationYaml的python文件,并编写如下代码:

1 import yaml
2 def readYamlList():
3     with open(file="data.yaml",mode="r",encoding="utf-8") as f:
4         return list(yaml.safe_load_all(f))
5 print(readYamlList())
6 print(type(readYamlList()))
7 print(readYamlList()[0]["login"]["username"])  #获取“无涯”
8 print(readYamlList()[1]["login"]["username"])  #获取“wuya”

5)运行operationYaml文件中的代码,得到如下结果:

 5、csv数据驱动案例实战1(列表形式)

1)在module包下面导入一个名为data.csv的文件,文件内容如下:

 1 username,password,city 2 无涯,admin,中国西安 3 wuya,admin,西安 

2)在module包下面新建一个名为csv学习的python文件,并编写以下代码:

 1 import csv
 2 def readCsvList():
 3     lists=[]
 4     with open(file='data.csv',mode="r",encoding="utf-8") as f:
 5         reader=csv.reader(f)   #调用reader形成列表形式
 6         next(reader)               #不读取第一行
 7         for item in reader:
 8             lists.append(item)
 9     return lists
10 print(readCsvList())

以上代码运行的结果为:

 

 6、csv数据驱动案例实战1(字典形式)

1)在module包下面导入一个名为data.csv的文件,文件内容如下:

 1 username,password,city 2 无涯,admin,中国西安 3 wuya,admin,西安 

2)在module包下面新建一个名为csv学习的python文件,并编写以下代码:

1 import csv
2 def readCsvDict():
3     lists=[]
4     with open(file="data.csv",mode="r",encoding="utf-8-sig") as f:#使用encoding="utf-8-sig",防止乱码
5         reader=csv.DictReader(f)
6         for item in reader:
7             lists.append(dict(item))
8     return lists
9 print(readCsvDict())

以上代码的运行结果为:

 

 7.excel数据驱动案例实战

1)在module包下面导入一个名为data.xlsx的文件,文件内容如下:

username password city
无涯 admin 中国西安
     

2)在module包下面新建一个名为excel学习的python文件,并编写以下代码:

1 import xlrd
2 def readExcel():
3     lists=[]
4     book=xlrd.open_workbook("data.xlsx")   #读取excel文件
5     sheet=book.sheet_by_index(0)     #操作sheet
6     for item in range(1,sheet.nrows):
7         lists.append(sheet.row_values(item))
8     return lists
9 print(readExcel())

以上代码的运行结果为:

标签:文件,day9,python,基础知识,yaml,print,驱动,login,csv
来源: https://www.cnblogs.com/cch6842/p/16397903.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有