栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

通过读取csv/xmladd()reduct()数据并使用allure展示测试报告

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过读取csv/xmladd()reduct()数据并使用allure展示测试报告

首先要配置allure的环境变量

1.要把allure.bat路径复制到path里面

2.进行配置

3. 验证是否成功打开cmd验证 输入  allure出现以下说明成功

4.然后再pycharm里面输入命令安装  pip install allure-pytest 

 

读取xml生成测试报告

开发的模块

class Kf(object):
    #相加
    def add(self,a,b):
       c = a + b
       return c
    #相减
    def reduct(self,a,b):
       c = a - b
       return c

准备数据


    
        2
        3
        5
    
    
        10
        4
        2
    

 读取数据

from xml.dom import minidom  #导入自带的模块
class Readxml():  #定义一个读取xml的方法
    def read_xml(self,filename,onename,twoname):  #传入三个参数  filename文件名字  onename,twoname第一个第二个数据
        root =minidom.parse(filename)  #获取文件的名字
        firstnode =root.getElementsByTagName(onename)[0]  #用文件名字进行获取  里面的第一标签
        secondnode=firstnode.getElementsByTagName(twoname)[0].firstChild.data  #然后用第一个标签去获取标签里面的数据
        return secondnode
r = Readxml()
# r.read_xml("../data/dataxml.xml","add","add1")
#传入参数    第一个路径    第二个是获取的标签    第三个获取标签里面的内容
print(r.read_xml("../data/dataxml.xml","add","add1"))

进行生成测试报告

相减成功失败的

import pytest,allure,os#导入自带的模块
from readdata.readxml import Readxml #导入读取xml的模块
from demo.kf import Kf  #导入开发编码的模块
r = Readxml()  #创建实例化对象
k = Kf()#创建实例化对象

# 调用读取xml的数据  相减操作
jian1 = r.read_xml("../data/dataxml.xml","reduct","reduct1")
jian2 = r.read_xml("../data/dataxml.xml","reduct","reduct2")
jian3 = r.read_xml("../data/dataxml.xml","reduct","reduct3")
reduct = k.reduct(int(jian1),int(jian2))



class Testallurexml(object):

    @allure.feature("相减功能")
    @allure.story("相减成功")
    def test_reductsuccess(self):
        assert reduct == int(jian3)

    @allure.feature("相减功能")
    @allure.story("相减失败")
    def test_reductfail(self):
        reductfail = k.reduct(int(jian2), int(jian1))
        assert reductfail == int(jian3)


pytest.main(['--alluredir', 'report/result', 'test_allure.py'])  # 生成json类型的测 试报告
split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'  # 将测试报告转为html格式
os.system(split)  # system函数可以将字符串转化成命令在服务器上运行

结果

相加成功失败的

import pytest,allure,os#导入自带的模块
from readdata.readxml import Readxml #导入读取xml的模块
from demo.kf import Kf  #导入开发编码的模块
r = Readxml()  #创建实例化对象
k = Kf()#创建实例化对象
#调用读取xml的数据  相加操作
jia1 = r.read_xml("../data/dataxml.xml","add","add1")
jia2 = r.read_xml("../data/dataxml.xml","add","add2")
jia3 = r.read_xml("../data/dataxml.xml","add","add3")
#调用开发的
add = k.add(int(jia1),int(jia2))




class Testallurexml(object):
    @allure.feature("相加功能")
    @allure.story("相加成功")
    def test_addsuccess(self):
       assert add == int(jia3)

    @allure.feature("相加功能")
    @allure.story("相加失败")
    def test_addfail(self):
        addfail= k.add(int(jia2), int(jia3))
        assert addfail == int(jia1)



pytest.main(['--alluredir', 'report/result', 'test_allure.py'])  # 生成json类型的测 试报告
split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'  # 将测试报告转为html格式
os.system(split)  # system函数可以将字符串转化成命令在服务器上运行

结果

 

读取csv生成测试报告

开发代码模块

class Kf(object):
    #相加
    def add(self,a,b):
       c = a + b
       return c
    #相减
    def reduct(self,a,b):
       c = a - b
       return c

 准备数据

4,5,9

读取

import csv #导入csv模块
class ReadCsv():
    def read_csv(self):
        item = []  # 定义一个空列表
        c = csv.reader(open("../data/datacsv.csv", "r"))  # 得到csv文件对象
        for csv_i in c:
            item.append(csv_i)  # 将获取的数据添加到列表中
            return item
r = ReadCsv()
print(r.read_csv())

 进行生成测试报告

import pytest,allure,os#导入自带的模块
from  readdata.readcsv import ReadCsv
from demo.kf import Kf
k = Kf()
r = ReadCsv()
list = r.read_csv()
class Testcsv(object):
    @allure.feature("相加操作")
    @allure.story("相加成功")
    def test_readcsv(self):
        for csv in list:
            add = k.add(int(csv[0]), int(csv[1]))
            assert add == int(csv[2])

    @allure.feature("相加操作")
    @allure.story("相加失败")
    def test_readcsv(self):
        for csv in list:
            add = k.add(int(csv[1]), int(csv[2]))
            assert add == int(csv[0])


pytest.main(['--alluredir', 'report/result', 'test_allure_csv.py'])  # 生成json类型的测 试报告
split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'  # 将测试报告转为html格式
os.system(split)  # system函数可以将字符串转化成命令在服务器上运行

 结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号