Python自动化代码Text,Excel,Yaml文件读取

转载:码上开始 码上开始https://mp.weixin.qq.com/s?__biz=MzI5OTc3ODkxMQ==&mid=2247484158&idx=1&sn=6ab5689946fb91c1571b1b84da5f24f5&chksm=ec9014cedbe79dd8f7d99d2ba7d6a44ed0ea33041a663abeb5afb093f1771a479b623156ab04&mpshare=1&scene=23&srcid=0716pw4imGnPKqhg40jO88UA&sharer_sharetime=1594882370806&sharer_shareid=f3a95eed9aac7538571bdee5aa613571#rd

 

前言

    不管是做Ui自动化和接口自动,代码和数据要分离,会用到Text,Excel,Yaml。今天讲讲如何读取文件数据

记住一点:测试的数据是不能写死在代码里面的,这个是原则问题


 目录

1.读取Text

2.读取Excel

3.读取Yaml

 

读取Text

需求:

问题解析:

1.打开txt文件

2.读取每一行数据

3.将文件存放在列表中(方便循环读取)

#!/usr/bin/python3

with open("E:/test.txt", "r") as f:

    #readlines读取文件内每一行数据
    for line in f.readlines():
        line = line.strip('\n') #去掉列表中每一个元素的换行符
        # split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
        data = (line.split(","))
        print(data)

运行结果:

读取Excel

小伙伴都知道,测试用例是写在Excel里的,如果是少量的用例很容易处理,如果用例成百上千条呢?

自动化测试的话,需要对用例数据进行读取,那必须循环读取才可以实现自动化。那么问题来了,怎么做呢?

用例如下图:

问题解析:

1、用列表存放这些用例数据,所以要用到列表

2、每一行用例要存放在字典内,所以需要用到字典

3、循环写入到字典,然后存放到列表内

#!/usr/bin/python3

import xlrd

class excel_data:
    """读取excl表接口数据"""

    data_path = "E:\\api_interface\\data\\interface.xlsx"
    # 打开文件
    excel = xlrd.open_workbook(data_path)
    # 通过下标定位表格
    sheet = excel.sheet_by_index(0)
    # 行: 6 和列数: 5
    rows, cols = sheet.nrows, sheet.ncols
    def read_excl(self):
        # 获取第一行数据key
        first_row = self.sheet.row_values(0)
        # print(first_row) # [编号,接口方式,host, params, result]
        # 定义空列表,用于存放用例数据
        self.result = []
        # 从第一行用例开始循环(1, 6)循环5次
        for i in range(1, self.rows):
            # 定义空字典
            info_dict = {}
            # 每1次大循环要循环5次(字典里有5组数据)
            for j in range(0, self.cols):
                # j=0,1,2,3,4
                # 添加到字典                  (1)[0]---第2行第1例的值,依次循环
                info_dict[first_row[j]] = self.sheet.row_values(i)[j]
         # 将数据存放在列表中
            self.result.append(info_dict)
        print(self.result)

if __name__ == "__main__":
    ex = excel_data()
    ex.read_excl()

运行结果:


 

读取Yaml

yaml文件后缀名为yaml,如文名件.yaml

yaml为第3方模块,需另行安装pip install pyyaml

问题解析:

1.定义文件地址

2.打开yaml文件

3.读取文件后转成字典以方便读取

#!/usr/bin/python3


import yaml
import os


# 获取当前脚本所在文件夹路径
curPath = os.path.dirname(os.path.realpath(__file__))

# 获取yaml文件路径
yamlPath = os.path.join(curPath, "E:\\api_interface\\config\\yaml.yaml")

# open方法打开直接读出来
open_file = open(yamlPath, 'r', encoding='utf-8')
result = open_file.read()

file_dict = yaml.load(result, Loader=yaml.FullLoader)  # 用load方法转字典
print(file_dict)

 运行结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值