阅读本文大概需要 6分钟。
数据除了在测试平台显示,有时候也会习惯用excel以及邮件展示,那么我们可以在测试平台上加一个导出excel功能,方便操作,下面介绍主要代码以及逻辑。
使用操作数据库的pymysql库,以及操作excel的xlwt库,源码以及注释如下:
importpymysqlimportxlwt
#连接数据库函数1
defget_conn():
coon = pymysql.connect(user='root',passwd='123456',db='autotest',port=3306,host=192.168.0.1,charset='utf8')returncoon
#执行查询数据函数2
defquery_all(cur, sql, args):
cur.execute(sql, args)returncur.fetchall()
#导出测试用例到export_to_excel_app_case.xls函数3
defread_mysql_to_xlsx2(filename):
list_table_head = ['用例编号','用例名称','测试结果','测试人员','测试时间','项目']
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('data', cell_overwrite_ok=True)foriinrange(len(list_table_head)):
sheet.write(0,i, list_table_head[i])
conn = get_conn() #调用连接数据库函数
cur = conn.cursor()
sql ='SELECT*from app_interface_appcase where app_interface_appcase.module = "testcase"'#查询用例sql语句results = query_all(cur, sql,None)#调用函数,定义记录查询到的数据mit()
cur.close()
conn.close()
row = 1forresultinresults:
col = 0print(type(result))print(result)foriteminresult:print(item)
sheet.write(row, col, item)
col += 1row += 1workbook.save(filename)
#导出测试用例步聚到export_to_excel_app_casestep函数4
defread_mysql_to_xlsx(filename):
list_table_head = ['用例编号','用例描述','测试步聚','测试对象名称描述','定位方式','控件元素类型','控件元素','操作方法','测试数据','验证数据','步聚测试结果','测试时间','用例测试结果','测试人员'] #定义表头
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('data',cell_overwrite_ok=True)foriinrange(len(list_table_head)):
sheet.write(0,i, list_table_head[i])
conn = get_conn() #调用连接数据库函数
cur = conn.cursor()
sql ='SELECTa.id,appcasename,appteststep,apptestobjname,appfindmethod,appevelementtype,appevelement,appoptmethod,apptestdata,appassertdata,b.apptestresult,b.create_time,a.apptestresult,apptesterfrom app_interface_appcase as a,app_interface_appcasestep as b wherea.id=b.Appcase_id and module="testcase"' #查询用例及步聚数据results = query_all(cur, sql,None) #调用函数,定义记录查询到的数据
mit()
cur.close()
conn.close()
row =1forresultinresults: #把结果循环写入到sheet
col =0print(type(result))print(result)foriteminresult:print(item)
sheet.write(row, col, item)
col +=1row +=1workbook.save(filename)#保存到excel文件if__name__ =='__main__':
#调用导出测试用例函数
read_mysql_to_xlsx2('export_to_excel_app_case.xls')
#调用导出用例步聚函数
read_mysql_to_xlsx('export_to_excel_app_casestep.xls')
导出excel数据如下:
代码运行演示视频:
看完是不是觉得so easy呢