您现在的位置是:主页 > news > WordPress情侣网站/游戏推广员到底犯不犯法

WordPress情侣网站/游戏推广员到底犯不犯法

admin2025/6/9 10:23:46news

简介WordPress情侣网站,游戏推广员到底犯不犯法,网站建设donglongyun,杭州拱墅网站建设现况:使用 testlink 进行测试用例的书写,导出为 xml原因:客户需要EXCEL测试用例,而testlink导出的用例是xml目的:xml 转换为 excel 形式的知识准备:Python ,xlwt 模块最后实现的效果图&#xf…

WordPress情侣网站,游戏推广员到底犯不犯法,网站建设donglongyun,杭州拱墅网站建设现况:使用 testlink 进行测试用例的书写,导出为 xml原因:客户需要EXCEL测试用例,而testlink导出的用例是xml目的:xml 转换为 excel 形式的知识准备:Python ,xlwt 模块最后实现的效果图&#xf…

现况:使用 testlink 进行测试用例的书写,导出为 xml

原因:客户需要EXCEL测试用例,而testlink导出的用例是xml

目的:xml 转换为 excel 形式的

知识准备:Python  ,xlwt 模块

最后实现的效果图:

   referrerpolicy=

   referrerpolicy=

实现代码:

#-*- coding: utf-8 -*-

import xlwt

import re

import xml.etree.ElementTree as ET

class xml_excel():

def __init__(self):

self.file=xlwt.Workbook(encoding='UTF-8')

self.borders=xlwt.Borders()

self.pattern=xlwt.Pattern()

self.font=xlwt.Font()

self.style=xlwt.XFStyle()

def sheet_border(self):

#设置边框

self.borders.left=xlwt.Borders.THIN

self.borders.right=xlwt.Borders.THIN

self.borders.top=xlwt.Borders.THIN

self.borders.bottom=xlwt.Borders.THIN

self.style.borders=self.borders

return self.style

'''def sheet_font(self):

self.font.name='SimSun'

self.font.bold=True

self.style.font=self.font'''

return self.style

def write_heard(self,name1):

self.add_shet=self.file.add_sheet(name1)

self.add_shet.write(0,0,'用例模块',self.sheet_border())

self.add_shet.write(0,1,'用例标题',self.sheet_border())

self.add_shet.write(0,2,'用例概要',self.sheet_border())

self.add_shet.write(0,3,'前提条件',self.sheet_border())

self.add_shet.write(0,4,'编号',self.sheet_border())

self.add_shet.write(0,5,'操作步骤',self.sheet_border())

self.add_shet.write(0,6,'预期结果',self.sheet_border())

def write_count(self,num1,num2,str1):

self.add_shet.write(num1,num2,str1,self.sheet_border())

def excel_merge(self,num11,num22,num33,num44,str11):

self.add_shet.write_merge(num11,num22,num33,num44,str11,self.sheet_border())

def cell_width(self):

self.add_shet.col(0).width=5000

self.add_shet.col(1).width=10000

self.add_shet.col(2).width=5000

self.add_shet.col(3).width=10000

self.add_shet.col(5).width=20000

self.add_shet.col(5).height=5000

self.add_shet.col(6).width=40000

self.add_shet.col(6).height=5000

def save_excel(self):

self.file.save('testcase.xls')

def excel_replace(self,ss):

self.re_cdata=re.compile('{0,1}[^>]*>',re.I)

self.s=re.compile(r'&')

# & 符号

self.re_ca=re.compile(r'&')

#小于号

self.re_cx=re.compile(r'

#大于号

self.re_cd=re.compile(r'>')

#双引号

self.re_cs=re.compile(r'"')

#空格

self.re_ck=re.compile(r' ')

#破折号

self.re_cp=re.compile(r'—')

#上尖括号;

self.re_cj=re.compile(r'…')

#中文双引号

self.re_czsl=re.compile(r'“')

#中文双引号

self.re_czsr=re.compile(r'”')

#中文单引号

self.re_czdl=re.compile(r'‘')

#中文单引号

self.re_czdr=re.compile(r'’')

s=self.re_cdata.sub('',ss)

s=self.re_ca.sub(r'&',s)

s=self.re_cx.sub(r'

s=self.re_cd.sub(r'>',s)

s=self.re_cs.sub(r'"',s)

s=self.re_ck.sub(r' ',s)

s=self.re_cp.sub(r'-',s)

s=self.re_cj.sub(r'^',s)

s=self.re_czsl.sub(r'“',s)

s=self.re_czsr.sub(r'”',s)

s=self.re_czdl.sub(r'‘',s)

s=self.re_czdr.sub(r'’',s)

return s

def set_merge(self):

pass

tree=ET.parse("testcase.xml")

#获取 xml 根目录

root=tree.getroot()

#获取 测试用例集

testsuite_per=root.findall("testsuite")

#循环测试用例集

aa={}

dict_temp={}

xe=xml_excel()

for num_suite in range(0,len(testsuite_per)):

xe.write_heard(testsuite_per[num_suite].get('name'))

#获取子用例集

row_flag=1

list_row=[0]

for testsuite_son in testsuite_per[num_suite].findall("testsuite"):

#获取测试用例

testcase=testsuite_son.getiterator("testcase")

num=len(testcase)

#print num

#循环每个测试用例

for case in range(0,num):

steps=testcase[case].getiterator('step')

#循环测试用例步骤

for step in steps:

list_temp=[]

list_temp.append(step[1].text)

list_temp.append(step[2].text)

dict_temp[step[0].text]=list_temp

#aa['step']=dict_temp

#print dict_temp,len(steps),row_flag

row_start=row_flag

if len(steps)!=0:

for i in range(1,len(steps)+1):

xe.write_count(row_flag,4,str(i))

if dict_temp[str(i)][0]!=None:

xe.write_count(row_flag,5,xe.excel_replace(dict_temp[str(i)][0]))

else:

xe.write_count(row_flag,5,dict_temp[str(i)][0])

if dict_temp[str(i)][1]!=None:

xe.write_count(row_flag,6,xe.excel_replace(dict_temp[str(i)][1]))

else:

xe.write_count(row_flag,6,dict_temp[str(i)][1])

row_flag+=1

else:

row_flag+=1

continue

#xe.excel_merge(row_start,row_flag-1,0,0)

xe.excel_merge(row_start,row_flag-1,1,1,testcase[case].get('name'))

if testcase[case].find('summary').text!=None:

xe.excel_merge(row_start,row_flag-1,2,2, xe.excel_replace(testcase[case].find('summary').text))

else:

xe.excel_merge(row_start,row_flag-1,2,2,testcase[case].find('summary').text)

if testcase[case].find('preconditions').text!=None:

xe.excel_merge(row_start,row_flag-1,3,3,xe.excel_replace(testcase[case].find('preconditions').text))

else:

xe.excel_merge(row_start,row_flag-1,3,3,testcase[case].find('preconditions').text)

list_row.append(row_flag-1)

#print list_row

#print list_row[len(list_row)-1],list_row[len(list_row)-2]

if num!=0:

xe.excel_merge(list_row[len(list_row)-2]+1,list_row[len(list_row)-1],0,0,testsuite_son.get('name'))

else:

continue

xe.cell_width()

xe.save_excel()

#xe.write_merge(aa)

print '转转换完毕 请查阅'