import yaml
import os
from collections import OrderedDict
import openpyxl
class TestCases_protocol:
"""This script is to convert excel file to yaml file."""
def __init__(self,file_name,yaml_name):
self.file_name = file_name
self.yaml_name = yaml_name
self.final_dict = OrderedDict()
self.new_pltform_dic = OrderedDict()
def create_dict(self):
wb = openpyxl.load_workbook(self.file_name)
sheet_names = wb.sheetnames
count_cases=[]
for sheet_name in sheet_names:
print(sheet_name)
ws = wb[sheet_name]
max_row = ws.max_row
count_cases.append(max_row-2)
for n_row in range(3,max_row+1):
script_type = ws.cell(row=n_row, column=1).value
script_name = ws.cell(row=n_row, column=2).value
Description = ws.cell(row=n_row, column=3).value
script_path = ws.cell(row=n_row, column=4).value
if not script_type:
continue
else:
self.new_pltform_dic[script_name] = OrderedDict()
self.new_pltform_dic[script_name].update({
"type":script_type,
"loop":'1',
"duration":'60',
"description":Description,
"script_path":script_path,
"parameters": "default"
})
# for k,v in new_pltform_dic.items():
# print(k,':',v)
with open(self.yaml_name, 'w') as f:
yaml.dump(self.new_pltform_dic, f)
print(sum(count_cases))
if __name__=='__main__':
case1 = TestCases_protocol('Test.xlsx','new.yaml')
case1.create_dict()