UI自动化测试_5_数据驱动模式

先解释下为什么要使用数据驱动模式:

  1. 使脚本重复使用,一套数据用同一个脚本
  2. 数据和脚本分开达到 数据分离,可以让数据多处调用

数据驱动步骤如下:

  1. 在测试类加上 @ddt
    2.在方法上加上@data 装饰器,@data 把参数当做测试数据,参数可以是 单个值,列表,字典, 对于元祖 要用@unpack进行解析多个参数
@data((value1,1),(value2,2))
@unpack
def test_value(self,act_value,expected_value):
      assertEqual(expected_value,get_value(act_value))

读取Excel外部数据

如果想读取数据要用到库 xlrd, 如果想写数据用到 xlwt 库 ,

他们提供了操作Excel 的工作簿,工作表 以及单元格的方法 .

思路如下:

调用open_workbook打开文件并返回个文件对象>>> 确认操作的工作表>>> 用for循环 ,循环取值

代码如下:

import xlrd
def get_data():
	book=xlrd.open_workbook(file_name)
	sheet=book.sheet_by_index(0)
	rows=[]  # 用于保存值 
	for i in   range(1,sheet.nrows):
		rows.append(list(sheet.row_valus(i,0,sheet.ncols)))
  
   return rows
	

读取数据库的数据


import pyodbc
import pandas as pd
import numpy as np
conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 10.0};SERVER=.;DATABASE=数据库名字;UID=用户名;PWD=密码') 
cur = conn.cursor() 
sqlcom = 'select 要读取的列名 from 表名'
df = pd.read_sql(sqlcom, con=conn) print(df) print(type(df)) #<class'pandas.core.frame.DataFrame'> 
df1 = np.array(df) #先使用array()将DataFrame转换一下
df2 = df1.tolist()#再将转换后的数据用tolist()转成列表
# 转成列表的数据是这样的[[123],['213'],['sa']],使用的时候稍注意一下


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值