使用Python读取TestTrack记录- Part2
来源:互联网 发布:阿里云域名免备案 编辑:程序博客网 时间:2024/06/06 16:35
忙着写培训文档,今天只解决了read xml via pathon,明天七点起床去公司把export module解决完,开始集成计算模块,记录一下今天的completed task:
1. read xml via ElementTree
<?xml version="1.0" encoding="utf-8"?><TestTrackData> <Server>http://10.7.88.11/ttsoapcgi.wsdl</Server> <User>administrator</User> <Password></Password> <ExportFile>D:\TTDefectExport.xml</ExportFile></TestTrackData>
使用python编写代码:
from xml.etree import ElementTreedef ReadXMLNode(configFile, nodePath): root = ElementTree() root = ElementTree.Parse(configFile) node = root.find(nodePath) return node.textif __name__ == '__main__': config = r"D:\Config.xml" serverPath = ReadXMLNode(config, "Server") userPath = ReadXMLNode(config, "User") pswPath = ReadXMLNode(config, "Password") exportPath = ReadXMLNode(config, "ExportFile")
尝试下dom来操作xml:create xml file via dom
def ReadXMLNode(configFile, nodePath): tree = ElementTree() root = tree.Parse(configFile) node = root.find(nodePath) return node.textif __name__ == '__main__': config = r"D:\Config.xml" server = ReadXMLNode(config, "Server") user = ReadXMLNode(config, "User") psw = ReadXMLNode(config, "Password") if psw == None: psw = '' export = ReadXMLNode(config, "ExportFile")#create a connection to TT serverserver = suds.client.Client(server)doc = Document()root = doc.createElement("TestTrackData")#logincookie = server.service.DatabaseLogon(database_name, user, psw)try: #fetch all the defect rows = server.service.getRecordListForTable(cookie, "Defect") for record in rows.Records: # fectch specific defect using given defect number defect = server.service.getDefect(cookie, record[0].value, bDownloadAttachments=False) defectNode = doc.createElement("Defect") if defect.__dict__.hasKey("recordid"): recordid = defect.__dict__["recordid"] # recordid recordidNode = doc.createElement("record-id") recordidNodeText = doc.createTextNode(recordid) recordidNode.appendChild(recordidNodeText) defectNode.appendChild(recordidNode) if defect.__dict__.hasKey("summary"): summary = defect.__dict__["summary"] #summary summaryNode = doc.createElement("summary") summaryNodeText = doc.createTextNode(recordid) summaryNode.appendChild(summaryNodeText) defectNode.appendChild(summaryNode) doc.appendChild(root)try: f = open('bookstore.xml','w') content = re.sub(r'(<[^/][^<>]*[^/]>)\s*([^<>]{,40}?)\s*(</[^<>]*>)', r'\1\2\3', doc.toprettyxml(indent = '')) f.write(content)finally: f.close()except:finally: response = server.service.DatabaseLogoff(cookie)生成的xml可能没法自动换行,可能是以下样子
<catalog> <maxid> 4 </maxid></catalog>
可以用正则表达式来去掉多余\tcontent = re.sub(r'(<[^/][^<>]*[^/]>)\s*([^<>]{,40}?)\s*(</[^<>]*>)', r'\1\2\3', doc.toprettyxml(indent = ''))
- 使用Python读取TestTrack记录- Part2
- 使用Python读取TestTrack记录- Part1
- 使用Python读取TestTrack记录- Part3 动态生成Linq to xml查询语句筛选条件
- 使用Outlook插件实现自动保存邮件为TestTrack记录
- 使用Outlook插件实现自动保存邮件为TestTrack记录
- TestTrack Pro使用文档
- python学习笔记 part2
- TestTrack Pro
- Part2. poi读取excel教程
- 使用python读取excel
- 使用python读取excel
- Python pandas使用记录
- python unittest 使用记录
- python django 使用记录
- Python之路Part2--基础知识
- python类与对象part2
- 《Python网络编程》Part2 使用多路复用套接字I/O提升性能
- python使用代理读取网页
- JAVA学习,你必读的5本JAVA书籍
- 贝叶斯总结
- 精典示例——while语句练习
- struts2 之 action接收参数
- perl中的函数参数
- 使用Python读取TestTrack记录- Part2
- 设计模式之五 --- 代理(Proxy)模式
- 第三周任务3
- php 不使用COM 显示MYSQL导出下载(表格资料保存成XLS)
- C,C++表达式求值顺序【推荐】
- javascript 窗口操作
- tabularx宏包中改变弹性列的宽度 \hsize
- android camera 开发遇见的问题,请教大侠
- MT6573驱动开发日志之touchpanel