栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

受苦之路--从0开始学python(16)--用例数据分离&excel操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

受苦之路--从0开始学python(16)--用例数据分离&excel操作

一组测试数据就代表一个用例,就是测试类下的一个方法

自动化测试之前,先有手工测试的用例,一般保存在excel,xmind,tapd

测试数据的运转:

通过手工写入excel

 通过python读取excel数据

-用pip安装第三方库--openpyxl

-导入load_workbook:加载工作簿

sheet:工作表  cell:单元格 row:行  column:列

from openpyxl import load_workbook

-通过变量获取工作簿
wb = load_workbook(r"E:lemmon-publiclessonlesson14_测试数据分离和excelxlsxcases.xlsx")

得到工作簿

 需要注意:

excel表格默认要放在跟它进行操作的py文件同一个目录下才能获取,不能像调用其他模块(py文件)一样操作,因为from..impirt只能导入python文件

如果是在A模块调用B模块的数据,而B模块是要获取excel文件的话,那么A模块和B模块所在的目录下,都必须要有这个excel文件,不然调用时候会报错

 为了方便管理,我们会把excel文件存放在一个专门的目录下,所以在对excel进行操作的py文件里,获取工作簿时候需要用到excel文件的绝对路径

-获取表格(Sheet)
sheet= wb["Sheet1"]
print(sheet)

 -获取一个表的全部值

data = list(sheet.values)
print(data)

sheet也是一个对象,获取对象属性,sheet.values 获取表格数据时候需要转换list类型

-获取一个单元格(cell)

cell = sheet.cell(row=2,column=1)  #参数传入行和列
print(cell)

 得出这是A2单元格

 获取单元格的值

info = cell.value
print(info)

cell是一个对象,获取对象的属性就是cell.属性名

 

-封装成函数
from openpyxl import load_workbook

def change_dict(list):
    list_1 = []
    key = list[0]    #字典的key是固定
    for value in list[1:]:  #从列表的第二个嵌套列表开始遍历到最后
        result = get_dict(key,value)   ##调用zip函数的操作,操作完成,已经从2个列表转换成一个字典
        list_1.append(result)

    return list_1

def get_dict(key, value):
    result = dict(zip(key, value))
    return result


def read_excel(excel_name,sheet_name):
    #得到工作簿
    wb = load_workbook(excel_name)
    #得到工作表
    sheet = wb[sheet_name]
    #读取所有数据
    data = list(sheet.values) #得到一个列表,包括标题,值

    data_1 = change_dict(data) #调用函数
    return data_1

result = read_excel(r"E:lemmon-publiclessonlesson14_测试数据分离和excelxlsxcases.xlsx","Sheet1")
print(result)

得到的用例数据方便查看 

导入自动化测试方法/函数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/280679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号