demo
- class ClacClass():
- def jiafa(self,a,b):
- return a+b
- def jianfa(self,a,b):
- return a-b
- def chengfa(self,a,b):
- return a*b
- def chufa(self,a,b):
- return a/b
data
- "1.0" encoding="UTF-8" ?>
- <root>
- <jia>
- <num1>1num1>
- <num2>2num2>
- <num3>3num3>
- jia>
- <jian>
- <num1>6num1>
- <num2>1num2>
- <num3>5num3>
- jian>
- <cheng>
- <num1>2num1>
- <num2>3num2>
- <num3>6num3>
- cheng>
- <chu1>
- <num1>9num1>
- <num2>3num2>
- <num3>3num3>
- chu1>
- <chu2>
- <num1>9num1>
- <num2>6num2>
- <num3>6num3>
- chu2>
- root>
readdata
- from xml.dom import minidom
- class ReadXml():
- def read_xml(self,first,second):
- file=minidom.parse("../data/shujuxml.xml")
- firstnode=file.getElementsByTagName(first)[0]
- secondnode=firstnode.getElementsByTagName(second)[0].firstChild.data
- return secondnode
test
- import pytest,allure,os
- from zuoye.demo.yunsuan import ClacClass
- from zuoye.readdata.readxml import ReadXml
- c=ClacClass()
- r=ReadXml()
- add1=int(r.read_xml("jia","num1"))
- add2=int(r.read_xml("jia","num2"))
- add3=int(r.read_xml("jia","num3"))
- cheng1=int(r.read_xml("cheng","num1"))
- cheng2=int(r.read_xml("cheng","num2"))
- cheng3=int(r.read_xml("cheng","num3"))
- jian1=int(r.read_xml("jian","num1"))
- jian2=int(r.read_xml("jian","num2"))
- jian3=int(r.read_xml("jian","num3"))
- chu1=int(r.read_xml("chu1","num1"))
- chu2=int(r.read_xml("chu1","num2"))
- chu3=int(r.read_xml("chu1","num3"))
- chu11=int(r.read_xml("chu2","num1"))
- chu22=int(r.read_xml("chu2","num2"))
- chu33=int(r.read_xml("chu2","num3"))
- class TestXml():
- @allure.feature("加法运算功能")
- @allure.story("运算正确")
- def test001(self):
- assert c.jiafa(add1,add2)==add3
- @allure.feature("乘法运算功能")
- @allure.story("运算正确")
- def test002(self):
- assert c.chengfa(cheng1,cheng2)==cheng3
- @allure.feature("减法运算功能")
- @allure.story("运算正确")
- def test003(self):
- assert c.jianfa(jian1,jian2)==jian3
- @allure.feature("除法运算功能")
- @allure.story("运算正确")
- def test004(self):
- assert c.chufa(chu1,chu2)==chu3
- @allure.feature("除法运算功能")
- @allure.story("运算错误")
- def test005(self):
- assert c.chufa(chu11,chu22)==chu33
- if __name__ == '__main__':
- pytest.main(["test_xml.py"])
- pytest.main(['--alluredir', 'report/result', 'test_xml.py'])
- split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'
- os.system(split)
report

demo
- class ClacClass():
- def jiafa(self,a,b):
- return a+b
- def jianfa(self,a,b):
- return a-b
- def chengfa(self,a,b):
- return a*b
- def chufa(self,a,b):
- return a/b
data
- 1,2,3
- 6,1,5
- 2,3,6
- 9,3,3
- 9,6,6
readdata
- import csv #导入csv模块
- class ReadCsv():
- def read_csv(self):
- file=csv.reader(open("../data/shujucsv.csv","r"))#得到csv的文件
- item=[] #定义一个空列表
- for i in file:
- item.append(i)
- return item
test
- import pytest,allure,os
- from zuoye.demo.yunsuan import ClacClass #导入测试的代码
- from zuoye.readdata.readcsv import ReadCsv #导入读取的数据
- c=ClacClass()
- r=ReadCsv()
- aa=r.read_csv()
- class TestSuanShuClass():
- @allure.feature("加法运算功能")
- @allure.story("运算正确")
- def test001_success(self):
- assert c.jiafa(int(aa[0][0]),int(aa[0][1]))==int(aa[0][2])
- @allure.feature("减法运算功能")
- @allure.story("运算正确")
- def test002_success(self):
- assert c.jianfa(int(aa[1][0]),int(aa[1][1]))==int(aa[1][2])
- @allure.feature("乘法运算功能")
- @allure.story("运算正确")
- def test003_success(self):
- assert c.chengfa(int(aa[2][0]),int(aa[2][1]))==int(aa[2][2])
- @allure.feature("除法运算功能")
- @allure.story("运算正确")
- def test004_success(self):
- assert c.chufa(int(aa[3][0]),int(aa[3][1]))==int(aa[3][2])
- @allure.feature("除法运算功能")
- @allure.story("运算错误")
- def test005_fail(self):
- assert c.chufa(int(aa[4][0]), int(aa[4][1])) == int(aa[4][2])
- if __name__ == '__main__':
- pytest.main(['--alluredir', 'report/result', 'testcsv.py']) # 生成json类型的测试报告
- split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean' # 将测试报告转为html格式
- os.system(split) # system函数可以将字符串转化成命令在服务器上运行
report
