python接口自动化测试 ( 第二章)

开发工具:PyCharm,自己配置好python开发环境哦,后续出基础知识的相关教程

第一步:创建一个项目,取名为:seautotest

第二步:创建一个control包,在control下创建一个utlis.py文件(utlis的意思是:封装工具类)

我们需要知道,读取Excel分两种情况,一种是写入,当然还有读取Excel

# 操作Excel的工具类

class Excel():

# 初始化方法 参数type:为r是读取excel,为w是写入excel获取不同的实例,参数file_name是将要读取的文件

def __init__(self, type, file_name):

# 读取excel

if type == 'r':

# 打开文件

self.workbook = xlrd.open_workbook(file_name)

# 获取到所有的sheet_names,sheet1,sheet2获取到所有,获取到的是一个list

self.sheet_names = self.workbook.sheet_names()

# 装载所有数据的list

self.list_data = []

# 写入excel

elif type == 'w':

# 获得写入excel的实例

self.workbook = xlsxwriter.Workbook(file_name)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

sheet_names是如下截图的:

接下来我们要开始写读取文件的代码,先把文件准备好,在seautotest下创建一个element文件,将elements文件放进去,想要直接获取文件

源码下载地址复制地址打开,不然会没有权限:https://gitee.com/zhangmeng1314/seautotet-public.git

elements.xlsx文件内容如下:

接下来在Excel下增加读取的函数:

def read(self):

# 根据sheet_name去读取用例,并获取文件的总行数获取到每行的内容

for sheet_name in self.sheet_names:

# 通过每个sheetname获取到每个页的内容

sheet = self.workbook.sheet_by_name(sheet_name)

# 获取总行数

rosw = sheet.nrows

# 根据总行数进行读取

for i in range(0, rosw):

rowvalues = sheet.row_values(i)

# 讲每一行的内容添加进去

self.list_data.append(rowvalues)

# 去除大标题第一行进行切割处理

# 将得到的excel数据返回进行处理

return self.list_data

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

执行以下,可以看到Excel的内容已经被读取出来了

​在utlis.py增加如下代码进行调试,看写的功能是否可用

if __name__ == '__main__':

file = '../element/elements.xlsx'

e = Excel('r', file)

list_read=e.read()

for i in list_read:

print(i)

1

2

3

4

5

6

7

输出结果如下:

文件的内容已经被读取出来了,咱们将结果存入list里面,并返回

完整版代码如下:

import xlrd

import xlsxwriter

# 操作Excel的工具类

class Excel():

# 初始化方法 参数type:为r是读取excel,为w是写入excel获取不同的实例,参数file_name是将要读取的文件

def __init__(self, type, file_name):

# 读取excel

if type == 'r':

# 打开文件

self.workbook = xlrd.open_workbook(file_name)

# 获取到所有的sheet_names,sheet1,sheet2获取到所有,获取到的是一个list

self.sheet_names = self.workbook.sheet_names()

# 装载所有数据的list

self.list_data = []

# 写入excel

elif type == 'w':

# 获得写入excel的实例

self.workbook = xlsxwriter.Workbook(file_name)

def read(self):

# 根据sheet_name去读取用例,并获取文件的总行数获取到每行的内容

for sheet_name in self.sheet_names:

# 通过每个sheetname获取到每个页的内容

sheet = self.workbook.sheet_by_name(sheet_name)

# 获取总行数

rosw = sheet.nrows

# 根据总行数进行读取

for i in range(0, rosw):

rowvalues = sheet.row_values(i)

# 讲每一行的内容添加进去

self.list_data.append(rowvalues)

# 去除大标题第一行进行切割处理

# 将得到的excel数据返回进行处理

return self.list_data

if __name__ == '__main__':

file = '../element/elements.xlsx'

e = Excel('r', file)

list_read = e.read()

for i in list_read:

print(i)


python接口自动化测试 ( 第二章)


原文链接:https://blog.csdn.net/weixin_45344334/java/article/details/94457884


分享到:


相關文章: