前言
读取文件
1、读取csv文件
import csv #导入csv模块
class ReadCsv():
def read_csv(self):
item =[] #定义一个空列表
c = csv.reader(open("../commonDemo/test1.csv","r")) #得到csv文件对象
for csv_i in c:
item.append(csv_i) #将获取的数据添加到列表中
return item
r = ReadCsv()
print(r.read_csv())
具体步骤:
"""
拿到开发的代码
"""
class CalcClass():
def xf(self, a, b):
c = a * b
return c
def cf(self, a, b):
c = a / b
return c
# cc =CalcClass()
# ff = cc.xf(1,2)
# print(ff)
# gg = cc.cf(1,2)
# print(gg)
"""
要测试的数据
"""
2,3,6
"""
读取CSV文件
"""
import csv # 导入csv模块
class ReadCsv():
def read_csv(self):
item = [] # 定义一个空列表
c = csv.reader(open("../dataDemo/a.csv", "r", encoding="utf-8")) # 得到csv文件对象
for csv_i in c:
item.append(csv_i) # 将获取的数据添加到列表中
return item
# r = ReadCsv()
# print(r.read_csv())
"""
测试用例+生成测试报告代码
"""
from readDemo.readcsv import ReadCsv
import pytest
from demo.calcDemo import CalcClass
import os
import allure
r = ReadCsv()
rr = r.read_csv()
c = CalcClass()
class TestCsv():
def testcsv(self):
for i in rr:
bl = c.xf(int(i[0]), int(i[1]))
assert bl == int(i[-1])
if __name__ == '__main__':
pytest.main(["--html=./Csvreport.html", "test_csv.py"])
生成测试报告
2、读取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
allure测试报告
Allure是一款轻量级并且非常灵活的开源测试报告框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。
1、配置allure的环境变量
2、验证allure是否配置成功
3、安装allure
pip install allure-pytest
# allure-pytest是Pytest的一个插件,通过它我们可以生成Allure所需要的用于生成测试报告的数据
4、Allure常用的几个特性
@allure.feature # 用于描述被测试产品需求
@allure.story # 用于描述feature的用户场景,即测试需求
with allure.step(): # 用于描述测试步骤,将会输出到报告中
allure.attach # 用于向测试报告中输入一些附加的信息,通常是一些测试数据,截图等
5、具体效果
from readDemo.readcsv import ReadCsv
import pytest
from demo.calcDemo import CalcClass
import os
import allure
r = ReadCsv()
rr = r.read_csv()
c = CalcClass()
class TestCsv():
@allure.feature("两数相乘") # 用于描述被测试产品需求
@allure.story("乘除结果") # 用于描述feature的用户场景,即测试需求
def testcsv(self):
with allure.step("查看乘法结果"): # 用于描述测试步骤,将会输出到报告中
allure.attach("6", "附加信息") # 用于向测试报告中输入一些附加的信息,通常是一些测试数据,截图等
for i in rr:
bl = c.xf(int(i[0]), int(i[1]))
assert bl == int(i[-1])
if __name__ == '__main__':
pytest.main(['--alluredir', 'reportCsv/result', 'test_csv.py'])
split = 'allure ' + 'generate ' + './reportCsv/result ' + '-o ' + './reportCsv/html ' + '--clean' # 将测试报告转为html格式
os.system(split) # system函数可以将字符串转化成命令在服务器上运行
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取