123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- # -*- coding:utf-8 -*-
- import sys
- reload(sys)
- sys.setdefaultencoding('utf-8')
- class Item():
- NODE_RESULTS = "results"
- NODE_ITEM = "item"
- NODE_NAME = "name"
- NODE_RESULT = "result"
- NODE_DATA = "data"
- NODE_REMARK = "remark"
- NODE_LOG = "log"
- Screen_Max = 20
- def __init__(self):
- self.name = ""
- self.data = ""
- self.remark = ""
- self.result = ""
- self.screenPathList = []
- self.logPath = ""
- def getScreenNode(self):
- return "screen" #+ str(index)
- class TestCase():
- #测试结果xml属性
- rootNodeName = "all"
- caseNodeName = "case"
- dependNodeName = "depend"
- resultNodeName = "result"
- scriptNodeName = "script"
- detailNodeName = "rdetail"
- logNodeName = "log"
- cnNodeName = "name"
- descNodeName = "desc"
- #用例属性
- def __init__(self):
- self.selected = True
- self.index = -1
- self.name = ""
- self.desc = ""
- self.depend = ""
- # 测试结果属性
- self.result = "no"
- self.script = ""
- self.rdetail = ""
- self.log = ""
- # 用例属性
- self.srcScript = ""
- def getCaseModel(self):
- strarr = self.srcScript.split("/")
- if strarr.__len__() == 3:
- return strarr[0]
- class TestTask():
- swInfoNodeName = "SW_Information"
- testCaseNameNode = "testcase"
- caseNodeAttrFilePathLabel="filepath"
- caseNodeAttrNameLabel = "name"
- caseNodeAttrDescLabel = "desc"
- caseNodeAttrDependLabel = "depend"
- swInfoKeys = ["hardware", "SWVersion", "projectName", "projectID", "SWInclude"]
- def __init__(self):
- self.curcase = TestCase()
- self.allCase = []
- self.swInfoValue = []
- self.modelList = []
- #return 0:newmodel已经存在,不重复添加;1:newmodel不存在,添加成功
- def addTvModel(self, newmodel):
- for model in self.modelList:
- if (newmodel == model):
- return 0
- self.modelList.append(newmodel)
- return 1
- def addTestCase(self, testcase):
- self.allCase.append(testcase)
- strarr = testcase.srcScript.split("/")
- if strarr.__len__() == 3:
- self.addTvModel(strarr[0])
- def getCaseListByModel(self,modelname):
- caselist = []
- for tc in self.allCase:
- if (modelname == tc.getCaseModel()):
- #print "getCaseListByModel,tc name=", tc.name, ";desc=", tc.desc, ";Model=", tc.getCaseModel()
- caselist.append(tc)
- return caselist
- def getCaseByName(self, casename):
- for tc in self.allCase:
- if (tc.name == casename):
- return tc
- return None
- #寻找最初的依赖用例
- def checkDependTC(self, tcDepend, tcName):
- print "checkDependTC ,tcDepend=",tcDepend
- for tc in self.allCase:
- if (tc.name == tcDepend):
- return self.checkDependTC(tc.depend, tc.name)
- return tcName
- def findFirstNotExcutedCase(self):
- if (self.allCase.__len__() <= 0):
- return ""
- for tc in self.allCase:
- if (tc.result == "no"):
- return self.checkDependTC(tc.depend, tc.name)
- def findIndexByCaceName(self, caseName):
- for index in range (0, self.allCase.__len__()):
- if (self.allCase[index].name == caseName):
- return index
- return 0
- # result:Pass/Fail/no
- def getTCListByResult(self, tresult):
- cnList = []
- for tc in self.allCase:
- if (tc.result == tresult):
- self.addCaseAndDepend(cnList, tc.name)
- return cnList
- def addCaseAndDepend(self, cnList, tcname):
- tc = self.getCaseByName(tcname)
- if (tc <> None):
- self.addCaseAndDepend(cnList, tc.depend)
- cnList.append(tcname)
|