python自动化测试——xml、Json文件读取

1 前言

       上次总结了txt和csv两种文件的读取方式,这次再总结一下xml文件、json文件的读取方式。xml即可扩展标记语言,它可以用来标记数据、定义数据类型;而JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式。

 

2 操作举例

2.1 读取xml文件

2.1.1 xml文件的读取方式

data.xml中的数据:

<?xml version="1.0" encoding="utf-8"?>
<type>
    <num>4</num>
    <login username="admin" password="passwd">
        <name>Python</name>
        <item id="1">
            <caption>user</caption>
        </item>
    </login>
    <item id="2">
        <caption>admin</caption>
    </item>
</type>

test_readData.py中的代码:

from selenium import webdriver
import pytest
import csv
import xml.dom.minidom


def test():
     #打开xml文档
     dom=xml.dom.minidom.parse('data/data.xml')
    root=dom.documentElement
    #获取标签名
    num = root.getElementsByTagName('num')
    print(num[0].tagName)
    #获取login标签的属性值
    logins=root.getElementsByTagName('login')
    print(logins[0].getAttribute("username"))
    print(logins[0].getAttribute("password"))
    #获取item标签的属性值
    items=root.getElementsByTagName('item')
    print(items[0].getAttribute("id"))
    print(items[1].getAttribute("id"))
    # 获取标签对之间的数据
    captions = root.getElementsByTagName('caption')
    #打印内容
    print(captions[1].firstChild.data)



if __name__ == '__main__':
     pytest.main(["-sq","test_readData.py"])

 

2.2 读取Json文件

2.2.1 Json文件的读取方式

test.json中的数据:

[{
"name": "user",
"age": 10,
"demo":{
"data": 11
}},
{
"name": "admin",
"age": 12,
"demo":{
"data": 13
}
}]

 

test_readData.py中的代码:

import pytest
import json

def test():
    #打开json文件,设置编码格式为utf-8
    file=open("data/test.json",encoding='utf-8')
    #加载json文件
    cont=json.load(file)
    #读取第二组demo中的data数据
    data=cont[1]['demo']['data']
    #读取第一组name数据
    name= cont[1]['name']
    #读取第一组age数据
    age=cont[0]['age']
    #打印相应的值
    print(data)
    print(name)
    print(age)

if __name__ == '__main__':
     pytest.main(["-sq","test_readData.py"])

 

 


欢迎关注「技术分享交流」公众号 ,如果有建议或者疑问的话,欢迎大家评论留言,如果喜欢公众号文章的话可以点【在看】,您的鼓励就是我的动力哈!!!

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值