读取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函数可以将字符串转化成命令在服务器上运行
结果



