国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python 通過xml獲取測試節點和屬性的實例

2020-01-04 15:29:03
字體:
來源:轉載
供稿:網友

寫在前面:通過xml獲取測試數據,主要是為了使數據參數化。測試腳本和測試數據分離,使得腳本清晰容易維護,方便排查問題。

XML:可擴展的標記語言,是一種用于標記電子文件使其具有結構行的標記語言。

自動化測試中的使用場景:

1. 經常變動的測試數據;

2. 數據量大,不方便放在腳本中;

3. 數據作用于多個地方;

4. 相同測試用例,可以使用不同的數據;

5. 例:不穩定,后續改動較多功能;容易出錯的功能

XML特征

• 具有自我描述性,本身不做任何事情

• 聲明部分 <?xml version="1.0" encoding="UTF-8"?>

• 有開就有閉,成對出現 <data></data>

• 可以有屬性值 <data type='demo'></data>

• xml用于傳輸數據 <data type='demo'> message </data>

• 可以嵌入子標簽 <data type='demo'><text>message</text></data>

python獲取xml文件方法集合

引入模塊處理xml文件

from xml.dom.minidom import parse

打開xml文檔,

DOMTree = xml.dom.minidom.parse(data_path)

根據xml文檔,得到文檔元素的對象

data = DOMTree.documentElement

獲取節點列表

nodelist = data.getElementsByTagName(大類名稱)

獲取第一個節點的子節點列表

childlist = nodelist[0].childNodes

獲取XML節點屬性值

node.getAttribute(AttributeName)

獲取XML節點對象集合

node.getElementsByTagName(TagName)

返回子節點列表

node.childNodes

獲取XML節點值

node.childNodes[index].nodeValue

訪問第一個節點

node.firstChild ,等價于pagexml.childNodes[0]

訪問元素屬性 例如:

Node.attributes["id"] a.name #就是上面的 "id" a.value #屬性的值

 

以下為具體的demo內容:

方法調用

#方法調用text = get_data_vaule('account','type','createText','text')print text#結果test data

xml文件

<?xml version="1.0" encoding="UTF-8"?><data>  <account type='createText'>    <text>test data</text>  </account>  <account type='email'>    <username>11111@qq.com</username>    <password>11111111</password>  </account></data>

下面方法相對應取數據的格式,# style = xml中的大類 ; typename = 細分屬性; typevalue = 細分屬性的值; valuename = xml文件,需要獲取的值的tag;

如果需要獲取相對應的上面XML文件中

“test data”的值,那么style = data ; typename = type; typevalue = createText; valuename = text “11111@qq.com”的值,那么style = data ; typename = type; typevalue = email; valuename = username

方法文件

#!/usr/bin/python# -*- coding: UTF-8 -*-import unittestimport osimport timefrom xml.dom.minidom import parseimport xml.dom.minidom#獲取xml文件地址path = os.path.abspath('.') data_path = os.path.join(path,'features/data/data.xml') #獲取xml文件地址DOMTree = xml.dom.minidom.parse(data_path) data = DOMTree.documentElementdef get_attrvalue(node, attrname):   return node.getAttribute(attrname)# style = xml中的大類 ; typename = 細分屬性; typevalue = 細分屬性的值; valuename = xml文件,需要獲取的值的tag;def get_data_vaule(style, typename, typevalue, valuename):  nodelist = data.getElementsByTagName(style)  for node in nodelist:     if typevalue == node.getAttribute(typename):      node_name = node.getElementsByTagName(valuename)      value = node_name[0].childNodes[0].nodeValue      print value      return value  return 

以上這篇python 通過xml獲取測試節點和屬性的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奇台县| 阿坝县| 阿尔山市| 松溪县| 通州区| 富锦市| 罗江县| 新野县| 塔河县| 米脂县| 兴城市| 沙洋县| 舟曲县| 赤峰市| 富阳市| 淳安县| 陈巴尔虎旗| 鸡泽县| 宁德市| 六安市| 普陀区| 阿瓦提县| 太白县| 达州市| 高邮市| 搜索| 崇州市| 顺平县| 沁水县| 安顺市| 阿拉善右旗| 加查县| 如东县| 兴山县| 石棉县| 济宁市| 辽阳县| 邛崃市| 正宁县| 桦甸市| 福建省|