找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
ddt---数据驱动
ddt---->data driver test 数据驱动测试
ddt用来读取外部引入参数
ddt模块需要下载安装

支持文件:txt,csv,excell等文件

@ddt   装饰在类上面
@data   用来传入数据(传参)
@unpack  数据拆分
@file_data  文件名

数据驱动有三种存储方式:
excell存储,yaml存储,json储存

序列化        dumps   将python对象转成json对象
反序列化   loads      将json对象转成python对象(首字母是小写L)


import xlrddef get_cms_value(fileName,sheetName,apiName):    book =xlrd.open_workbook(fileName)  #打开文件    sheet =book.sheet_by_name(sheetName)   #打开sheet页    # value =sheet.row_values()    rows =sheet.nrows     #取得所有行数    colvalue =sheet.col_values(0)    #取name第一列    print(colvalue)    #打印第一列 结果类型是列表    value_list=[]    #定义一个空列表    for i in range(1,rows):   #从1开始到总行数循环        if colvalue == apiName:    #第一列值的第i行            bb =sheet.row_values(i,1,6)  #第i行的1到5列值            value_list.append(bb)  #取到的值添加到空表    #print(value_list)    return value_listget_cms_value('cms_api.xlsx','cmsapi','cms_login')


import requestsimport unittestfrom ddt import ddt,data,unpack   #导入数据驱动模块from test12月26.get_value import get_cms_value   #导入test12月26包里文件列表取得值import jsonrequests =requests.session()@ddtclass TestCmslgin(unittest.TestCase):    @data(*get_cms_value('cms_api.xlsx', 'cmsapi', 'cms_login'))    @unpack    def test01_login(self, method, url, header, payload, excepts):        res = requests.request(method, url, headers=json.loads(header), data=json.loads(payload))        print(res.text)        self.assertEqual(excepts, res.text)    @data(*get_cms_value('cms_api.xlsx','cmsapi','cms_add_user'))    @unpack    def test02_login(self,method,url,header,payload,excepts):        res =requests.request(method,url,headers=json.loads(header),data=json.loads(payload))        print(res.text)        self.assertEqual(excepts,res.text)if __name__ == '__main__':    unittest.main()





分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册