框架基本用法及批量生成用例合并测试生成报告


语法:
# -*- coding:utf-8 -*-
from interface.interfaceSchoolManage import SchoolManage
import unittest
import requests,random
name = random.randint(100, 1000000)
class TestSchoolLogin(unittest.TestCase):
def setUp(self): #前置条件:setUp(self)(眼睛睁亮了,注意大小写)
self.s = requests.session()
self.uri = "http://192.168.241.129:8081"
self.school = SchoolManage(self.s) # 实例化,凡是用到类(class)都得进行实例化,把共用的代码写进去,最后生成一个函数代替它
def test_school_login_success(self):
r = self.school.school_login(self.uri, "admin", "660B8D2D5359FF6F94F8D3345698F88C")
self.assertIn("退出", r.text)
def test_school_login_pwd_error(self):
r = self.school.school_login(self.uri, "admin", "1660B8D2D5359FF6F94F8D3345698F88C")
self.assertNotIn("退出", r.text)
def tearDown(self): #后置条件:tearDown(self): #后置处理,清理垃圾数据,不影响后续用例 self.s.close() # 关闭登录
if __name__ == '__main__':
unittest.main() #运行都是找test执行 #用例执行顺序是按(assic码):0-9 ,A-Z, a-z顺序执行的
(我们可以不用管执行顺序,用例是相互独立的,不要去依赖执行顺序)
--------------------------------
批量生成用例:
# -*- coding:utf-8 -*-
import unittest
def allcace():
caseDir = "E:\\learn\\ApiTest\\case" #这里是用例的文件路径要转义所以再加一个\
discover = unittest.defaultTestLoader.discover(caseDir,
pattern="test*.py")
print(discover)
return discover
if __name__ == '__main__':
runner = unittest.TextTestRunner()
runner.run(allcace())
------------------
生成报告:
# -*- coding:utf-8 -*-
import unittest
from commen import HTMLTestRunner
def allcace():
caseDir = "E:\\learn\\ApiTest\\case" #这里是用例的文件路径要转义所以再加一个\
discover = unittest.defaultTestLoader.discover(caseDir,
pattern="test*.py")
print(discover)
return discover
if __name__ == '__main__':
reportDir = "E:\\learn\\ApiTest\\report\\report.html" # 定义报告的路径
fb = open(reportDir, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fb,
title="教育系统自动化测试报告",
description="用例执行情况")
runner.run(allcace())
fb.close()

浙公网安备 33010602011771号