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

接口自动化测试方案(接口自动化的实现难点)

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

接口自动化测试方案(接口自动化的实现难点)

一、openpyxl
    安装
    pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simpleexcel组成
    Excel文件、表单、单元格
Ⅰ、读取excel数据

1.导入相关库:

from openpyxl import load_workbook
语法:load_workbook(filename, read_only=False, keep_vba=KEEP_VBA,
data_only=False, keep_links=True):
filename:excel文件名称
read_only=False:只读,不可编辑
data_only=False:只读取公式,True:读取计算结果

2、操作步骤

加载excel

wb_obj = load_workbook(filename="case_data.xlsx")

获取表单对象

sheet_obj = wb_obj["login"]

获取单元格

cell_obj = sheet_obj["B3"]
res3 = sheet_obj.cell(2,3)
print(res3.value)

获取单元格内容

value = cell_obj.value

关闭excel

wb_obj.close()

获取表单所有名称

names = wb_obj.sheetnames

通过索引获取表单对象

sheet_obj= wb_obj.worksheets[0]

行操作

#获取组大行
res1 = sheet_obj.max_row
#获取所有行对象
res2 = sheet_obj.rows
for obj in sheet_obj.rows:
    for i in obj:
        print(i.value)
    

行切片

min_row=None, 起始行索引值(索引从1开始,int类型,默认1) max_row=None,结束行索引值(索引从1开始,int类型,默认最大行的值)min_col=None, 起始列索引值(索引从1开始,int类型,默认1) max_col=None, 结束列索引值(索引从1开始,int类型,默认最大列的值)values_only=False 返回对象, True:返回单元格对应的数据切片原则是两头都包含,包含起始索引位置也包含结束索引位置的值

result = sheet_obj.iter_rows(min_row=1, max_row=2, min_col=1, max_col=2, values_only=True)
print(list(result))

列操作

res2 = sheet_obj.max_column #获取最大列
result2 = sheet_obj.iter_cols(min_row=1, max_row=2, min_col=1, max_col=2, values_only=True)
print(list(result2))
Ⅱ、写excel
wb_obj = load_workbook(filename="case_data.xlsx")
sheet_obj = wb_obj["login"]
#写单元格
sheet_obj["B3"]="test"
res3 = sheet_obj.cell(row=2,column=3,value="test_demo")
#保存表格
wb_obj.save("case_data.xlsx")

wb_obj.close()
Ⅲ、数据封装
from openpyxl import load_workbook

class HandleExcel():
    def __init__(self,file_name,sheet_name):
        self.wb_obj = load_workbook(filename=file_name)
        self.sheet_obj = self.wb_obj.sheetnames(sheet_name)

    def get_excel_cases(self):
        case_list = []
        datas = list(self.sheet_obj.iter_cols(values_only=True))
        for case in datas[1:]:
            resulet = dict(zip(datas[0],case))
            case_list.append(resulet)
        self.colse_file()
        return case_list

    def colse_file(self):
        self.wb_obj.close()
        
if __name__ == '__main__':
    cl = HandleExcel(file_name="case.xlsx",sheet_name="logoin")
    cl.get_excel_cases()
		
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772988.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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