自动化测试用例要怎么写_实际使用方式

自动化测试用例要怎么写_实际使用方式

点关注的图片

  上一章 <自动化测试用例要怎么写> 介绍了这个文件主要功能, 还有文件的源码已经公开了(后期略微有一点点优化过, 没有上传, 需要的私信我! ! ! )

前言

  这一章,主要介绍Excel 文件的编写方式, 以及需要注意的几个点,。要有大家还有什么需要的,可以继续加。(大神莫喷)

表格方式读取

  先看一下源文件:文件名:读取讲解文件.xlsx sheet名:表格数据 ↓ ↓ ↓ ↓ ↓
在这里插入图片描述
  很单纯的一个 表格结构的数据, 没有丝毫异常的存在 , 下边是读取他的方式

from utils.Read_File_Util import read_file_class
file_name = "E:\\读取讲解文件.xlsx"
mode_key  = "读取讲解文件"
read_file_data = read_file_class.read_file(file_name,mode_key)
for d in read_file_data[“表格数据”] # sheet 的名字
	print(d)
print(read_file_data)

   输出的结果:
在这里插入图片描述
  是以数组的方式,去展示出来的,通过 for in 就可以进行遍历

根据标记进行分组

当我们需要有一定的要求, 需要对不同的数据进行不同的处理, 我们就要对他进行分组分组的方式呢,在下边:
  先看一下源文件:文件名:读取讲解文件.xlsx sheet名:表格数据2 ↓ ↓ ↓ ↓ ↓
在这里插入图片描述

file_name = "E:\\读取讲解文件.xlsx"
mode_key  = "读取讲解文件"
read_file_data = read_file_class.read_file(file_name,mode_key)
# 这个是一对一时的使用, 返回时 是 dict嵌套dict
# group_data = read_file_class.dict_join_dict(read_file_data["表格数据2"],"序号")
# 这个是一对多的使用啊, 返回时 是 dict嵌套 list
group_data = read_file_class.list_join_dict(read_file_data["表格数据2"],"序号")
print(group_data)

在这里插入图片描述

全局变量的使用方法

  从第一个文件的读取结果里边看到了,文件默认加了一个全局变量的字段,这个全局变量的使用方法是怎么用呢,下边我来介绍一下吧!
  先看一下源文件:文件名:读取讲解文件.xlsx sheet名:全局变量 ↓ ↓ ↓ ↓ ↓
  在文件里边添加了一个“全局变量” 的sheet页,这个里边有重点有两个列(key、value) 这两列不能没有,其他列可以随意添加。
在这里插入图片描述

  先看一下源文件:文件名:读取讲解文件.xlsx sheet名:表格数据 ↓ ↓ ↓ ↓ ↓
  和第一个图片不同的地方是 我在 最有加了一个操作人的列,这里是用来演示的, 后期有很大的用处。
在这里插入图片描述
  和第一个的, 没有丝毫异常的存在 , 下边是读取他的方式

from utils.Read_File_Util import read_file_class
file_name = "E:\\读取讲解文件.xlsx"
mode_key  = "读取讲解文件"
read_file_data = read_file_class.read_file(file_name,mode_key)
for d in read_file_data[“表格数据”] # sheet 的名字
	print(d)
print(read_file_data)

   输出的结果:

  在文件中 用 {{key}} 包住,程序会去全局变量里边找对应看key对应的value替换过去。在这里插入图片描述

引用的使用方法

  
引用的是用的意思呢,就是在第一页使用编写数据,在其他页面引用, 这样可以减少很多编写的时间。使用方法,是引用页面的 sheet名字。

标记名类型
ref{sheet}此 sheet 的全部数据
ref{sheet#1}此 sheet的序号 = 1 的
ref{sheet#1,2,3,4}此 sheet 的序号 = 1,2,3,4 的
ref{sheet#1_4}此 sheet 的序号 = 1到4 的
ref{sheet#1_4,6}此 sheet 的序号 = 1到4 和 6 的
ref{sheet#1_4,6_7}此 sheet 的序号 = 1到4 和 6到7 的
ref{sheet1#1;sheet2#1}读取多个 sheet 的序号 = 1 的 #号后面其他雷同

  先看一下源文件:文件名:读取讲解文件.xlsx sheet名:表格数据 ↓ ↓ ↓ ↓ ↓ 在这里插入图片描述
  和第一个的, 没有丝毫异常的存在 , 下边是读取他的方式。

from utils.Read_File_Util import read_file_class
file_name = "E:\\读取讲解文件.xlsx"
mode_key  = "读取讲解文件"
read_file_data = read_file_class.read_file(file_name,mode_key)
for d in read_file_data["表格数据"]: # sheet 的名字
	print(d)
print(read_file_data)

   输出的结果:

  其他都是以数组的形式返回的,多sheet页读取的, 会变成dict。在这里插入图片描述

数据转换方法

  在浏览器上 用 F12 看过 接口调用的参数, 比如说, 性别这个单选按钮, 在页面上选男或者女,但是在接口参数里却变成了1或者2。这也就说明,看到的和自己实际接口用到的是不一样的。
那么我们写用例中的数据时,是写转换前的还是选择转后,写转换前的看着方便,写转换后的用着方便。但是用例还是给人看的,所以还是写转换前的,然后使用程序进行转换,这样用着也方便,看着也方便了。
下边我写一下怎样转换吧↓ ↓ ↓

  先看一下源文件:文件名:读取讲解文件.xlsx sheet名:表格数据 ↓ ↓ ↓ ↓ ↓

在这里插入图片描述

接下来我就要多墨迹几句了, 写在代码的注释里了

	# read_file_class 的 init 方法
    def __init__(self):
        curPath = os.path.abspath(os.path.dirname(__file__))
        pro_path = curPath[:curPath.find(object_dir + os.sep) + len(object_dir + os.sep)]
        # 读取了 data_switch 的文件,文件的内容往下看。
        # 最后赋值给了 xls_dict 变量里边 from config.XLS_DICT import xls_dict, my_pow
        # 这样,有两个位置可以配置 xls_dict 变量,用来进行数据转换 os.sep 文件夹分隔符
        switch_datas = self.pub_read_file(pro_path + f"{os.sep}config{os.sep}data_switch.xlsx", "switch_data")

        for switch_data in switch_datas:
            if switch_data["web_type"] != "":
                try:
                    web_type = json.loads(switch_data["web_type"])
                except JSONDecodeError as e:
                    logger.error(switch_data["key_name"] + " 数据格式错误! ! ! ")
                    raise JSONDecodeError(switch_data["key_name"] + " 数据格式错误! ! ! ")
                    continue
                for k,v in  web_type.items():
                    if isinstance(v,str) and "bit" in v :
                        web_type[k] = my_pow(bitN=v)
                pass

            else:
                web_type = {}

            if web_type == {}:
                switch_data_sql = {
                    "name_to_id":switch_data["name_to_id"],
                    "id_to_name":switch_data["id_to_name"]
                    }
            else:
                switch_data_sql = {}
            xls_dict[switch_data["key_name"]] = dict(web_type,**switch_data_sql)

  先看一下转换文件:文件名:{os.sep}config{os.sep}data_switch.xlsx sheet名:switch_data ↓ ↓ ↓ ↓ ↓

在这里插入图片描述

标题介绍
key_name用来转换的标题,上上图的标题
web_type在文件中转换
name_to_id使用sql在数据库中转换
id_to_name使用sql在数据库中转换

PS:web_type 和 name_to_id 两个只能使用一个。

在 data_switch.xlsx 中加入这个, 如果是sql 就在 name_to_id 那一列写 select value from tableName where name = ‘%(标题数据转换)s’;(标题数据转换 与 key_name 一样。sql 我随便写的)
在这里插入图片描述

  准备工作做完了,剩下的就和第一个的, 没有丝毫异常的存在 , 下边是读取他的方式。

from utils.Read_File_Util import read_file_class
file_name = "E:\\读取讲解文件.xlsx"
mode_key  = "读取讲解文件"
read_file_data = read_file_class.read_file(file_name,mode_key)
for d in read_file_data["表格数据"]: # sheet 的名字
	print(d)
print(read_file_data)

在这里插入图片描述
  读取完了以后 可以看到,原来的变成了1,又加了一个 oid_开头的,保留的是原来的数据。要是用 sql 的话,结果是一样的。

  好啦,就这些, 其实就是一个小的工具方法,有什么需要的,可以私信我,我在添加进去,编写不易求关注!~ ~ ~ ~ ~ ~ ~

点关注的图片

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值