python单元测试的unittest读取xml文件

python单元测试的unittest读取xml文件


前言:
读取xml主要是就是有四部分内容。

1.一个用来存放数据
2.一个用来读取存放的xml数据
3.一个用来执行测试脚本
4.一个用来生成html文件

注意点:
脚本里的内容需要都要测试通过才能成功…
比如要执行三个脚本,有一个脚本不成功,就会测试失败.

1.存放数据

// 创建一个xml文件输入数据
<note>
    <add>
        <add1>1</add1>
        <add2>2</add2>
        <add3>3</add3>
    </add>
    <reduct>
        <reduct1>1</reduct1>
        <reduct2>2</reduct2>
        <reduct3>3</reduct3>
    </reduct>
</note>

2.读取存放的xml数据

// 创建一个py文件,编写读取xml的脚本
from xml.dom import minidom

class Readxml():
    def read_xml(self, filename, onename, twoname):
        root = minidom.parse(filename)
        firstnode = root.getElementsByTagName(onename)[0]
        secondnode = firstnode.
       	getElementsByTagName(twoname)[0].firstChild.data
        return secondnode

# 可以获取到值
readxml=Readxml()
			()中的内容包括xml的地址,内层的add以及更内层的add1
print(readxml.read_xml("../datademo/testxml.xml","add","add1"))

3.执行测试脚本

// 创建一个py文件,执行脚本
import unittest

from demo.kaifa import KaiFa
from readdemo.readxml import Readxml

readxml = Readxml()
# 获取到testxml中的三个值
a = int(readxml.read_xml("../datademo/testxml.xml", "add", "add1"))
b = int(readxml.read_xml("../datademo/testxml.xml", "add", "add2"))
c = int(readxml.read_xml("../datademo/testxml.xml", "add", "add3"))
# 实例化类
kaifa = KaiFa()
# 调用类中的方法
sum = kaifa.add(a, b)
print("su", type(sum))

class TestXml(unittest.TestCase):
    def test_xml(self):
        # 比较值
        self.assertEqual(sum, c)
if __name__ == '__main__':
    # 测试
    unittest.main()

4.生成html文件

// 运行生成html的脚本
import unittest

from datademo.HTMLTestRunner import HTMLTestRunner
from test.testxml import TestXml

class HtmlClass():
    def shengchenghtml(self):
        suite = unittest.TestSuite()
        caselist = ["test_xml"]
        for case in caselist:
            suite.addTest(TestXml(case))

        with open("../xmltest.html", "wb") as f:
            HTMLTestRunner(
                stream=f,
                title="单元测试",
                description="测试xml",
                verbosity=2
            ).run(suite)

if __name__ == '__main__':
    test = HtmlClass()
    test.shengchenghtml()

结果显示:
在这里插入图片描述
下方是生成的html文件
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值