zoukankan      html  css  js  c++  java
  • 对多条件进行组合,生成笛卡尔积的用例集合的python代码实现

    做专项测试需要对一些因素进行组合的测试,这里组合起来后数据量可能很大,我们可以用python来代劳

    代码有优化空间,目前先用着。

    ************************代码开始*****************************

    __author__ = 'Administrator'

    from itertools import product
    import openpyxl


    标题=['视频尺寸','检测类型','天气','路况','摄像头方向','摄像头高低','摄像头角度']


    视频尺寸=['4cif','720p']
    检测类型=['外场']
    天气=['晴天白天','雨天白天','雾天','傍晚','阴天','凌晨']
    路况=['畅通','较拥堵','拥堵']
    摄像头方向=['车头','车尾']
    摄像头高低=['高','低']
    摄像头角度=['轻微偏移','大幅度偏移']


    视频尺寸1=['4cif','720p']
    检测类型1=['隧道']
    亮度=['开灯']
    路况1=['畅通','较拥堵','拥堵']
    摄像头方向1=['车头','车尾']
    摄像头高低1=['高','低']
    摄像头角度1=['轻微偏移','大幅度偏移']


    #写入excel的第一行是标题
    ob=openpyxl.load_workbook('E:\work\AI001.xlsx')
    sheet_1=ob["data2"]


    dict_1={}
    data_1=[]
    count_1=0
    for a,b,c,d,e,f in product(检测类型,天气,路况,摄像头方向,摄像头高低,摄像头角度):
    data_1=[]
    data_1.append(a)
    data_1.append(b)
    data_1.append(c)
    data_1.append(d)
    data_1.append(e)
    data_1.append(f)
    # data_1.append(g)
    dict_1[count_1]=data_1
    count_1=count_1+1


    # print(len(dict_1))

    dict_2={}
    data_2=[]
    count_2=len(dict_1)
    for a1,b1,c1,d1,e1,f1, in product(检测类型1,亮度,路况1,摄像头方向1,摄像头高低1,摄像头角度1):
    # print(a1,b1,c1,d1,e1,f1,g1)
    data_2=[]
    data_2.append(a1)
    data_2.append(b1)
    data_2.append(c1)
    data_2.append(d1)
    data_2.append(e1)
    data_2.append(f1)
    # data_2.append(g1)
    dict_2[count_2]=data_2
    count_2=count_2+1


    # print(dict_1)
    #两个字典合并为一个字典来处理
    # dict_3=dict(dict_1.items() + dict_2.items())
    dict_3={}
    dict_3.update(dict_1)
    dict_3.update(dict_2)

    # print(dict_3)
    # print(dict_2)
    for k in dict_3:
    data_3=dict_3[k]
    # print(data_3)
    for i in range(1,7):
    sheet_1.cell(k+1,i).value=(data_3[i-1])
    # print(data_3[i-1])


    ob.save('E:\work\AI001.xlsx')
    # for a1,b1,c1,d1,e1,f1,g1 in product(视频尺寸1,检测类型1,亮度,路况1,摄像头方向1,摄像头高低1,摄像头角度1):
    # print(a1,b1,c1,d1,e1,f1,g1)

    ************************代码结束*****************************

  • 相关阅读:
    ASP.Net设计时需要考虑的性能优化问题 转载自http://blog.sina.com.cn/s/blog_3d7bed650100055p.html
    Jqeruy dropdownlist 联动
    Sound Recording in Windows Phone 7
    Windows Phone Performance 系列网址集合
    【xml]: Read XML with Namespace resolution using XLinq.XElement
    编程基础字符篇(2)
    每日总结一:
    每日总结5:
    Control usage: (1) Windows Phone 7: Popup control
    编程基础字符篇(3)
  • 原文地址:https://www.cnblogs.com/1234abcdttttjy001/p/10790753.html
Copyright © 2011-2022 走看看