python测试框架让case并发执行_python 自动化框架写case

智能的单元测试框架  ,是开发写代码自测的

我们测试用单元测试去实现自动化   使用 unittest模块

怎么写用例

import unittest

import my_function

# def add(a,b):

# return a+b

class TestAdd(unittest.TestCase):

def add_norn(self):

result=my_function.add(1,2)

self.assertEquals(3,result)#第三个参数传不通过的

def add_error(self):

result=my_function.add(1,2)

self.assertEquals(4,result)#第三个参数传不通过的

def add_error2(self):

result=my_function.add(1,2)

self.assertEquals(4,result,'正常整数加法没有通过')#第三个参数传不通过的

if __name__=='__main__':

unittest.main()

调用完毕,结果显示为0

使用unittest 直接运行产生不了测试报告 ,会出现testrnner

需要使用python 自带run 选择run...运行可以产生测试报告 切记切记

如果还是运行是0就有要看测试用例的标题是不是以test开头的

import unittest

import my_function

class TestAdd(unittest.TestCase):

def test_add_normal(self):

result=my_function.add(1,2)

self.assertEqual(3,result)

def test_add_error(self):

result=my_function.add(1,2)

self.assertEqual(4,result)

def test_add_error2(self):

result=my_function.add(1,2)

self.assertEqual(4,result,'正常整数加法没有通过')

if __name__=='__main__':

unittest.main()

注意用例的开头要写test 然后用run...运行这样才能产生测试报告

通过的不运行,不通过的会打印

前提安装 HTMLTestRunner 模块另外要将目录加进去环境变量否则HTMLTestRunner 方法.不出来

import unittest

import my_function

import HTMLTestRunner

class TestAdd(unittest.TestCase):

def test_add_normal(self):

result=my_function.add(1,2)

self.assertEqual(3,result)

def test_add_error(self):

result=my_function.add(1,2)

self.assertEqual(4,result)

def test_add_error2(self):

result=my_function.add(1,2)

self.assertEqual(4,result,'正常整数加法没有通过')

if __name__=='__main__':

#不产生测试报告

# unittest.main()

# test_suite=unittest.TestSuite()

#产生单个测试用例

# test_suite.addTest(TestAdd('test_add_error2')) #运行一条

# test_suite.addTest(TestAdd('test_add_error'))

#产生所有用例

# test_suite=unittest.makeSuite(TestAdd)

#makeSuite 这个方法点不出来要传类名

with open('report.html','wb')as fw:

# runner=HTMLTestRunner.HTMLTestRunner()

runner=HTMLTestRunner.HTMLTestRunner(stream=fw,title='天马座操作',description='天马座接口座测试报告',verbosity=2)

runner.run(test_suite)

# unittest.main()

# test_suite=unittest.TestSuite()

# test_suite.addTest(TestAdd('test_add_error2'))

# runner=unittest.TestRunner()

# runner.run(test_suite)

下面讲解测试报告的生成

如果想要这种界面就要使用

HTMLTestRunner_PY3 导入这个测试模块

import unittest

import my_function

import HTMLTestRunner_PY3

class TestAdd(unittest.TestCase):

def test_add_normal(self):

result=my_function.add(1,2)

self.assertEqual(3,result)

def test_add_error(self):

result=my_function.add(1,2)

self.assertEqual(4,result)

def test_add_error2(self):

result=my_function.add(1,2)

self.assertEqual(4,result,'正常整数加法没有通过')

if __name__=='__main__':

#不产生测试报告

# unittest.main()

test_suite=unittest.TestSuite()

#产生单个测试用例

test_suite.addTest(TestAdd('test_add_error2')) #运行一条

# test_suite.addTest(TestAdd('test_add_error'))

#产生所有用例

# test_suite=unittest.makeSuite(TestAdd)

#makeSuite 这个方法点不出来要传类名

with open('report.html','wb')as fw:

# runner=HTMLTestRunner.HTMLTestRunner()

runner=HTMLTestRunner_PY3.HTMLTestRunner(stream=fw,title='天马座操作',description='天马座接口座测试报告',verbosity=2)

runner.run(test_suite)

# unittest.main()

# test_suite=unittest.TestSuite()

# test_suite.addTest(TestAdd('test_add_error2'))

# runner=unittest.TestRunner()

# runner.run(test_suite)

想要添加注释怎么操作

import unittest

import my_function

import HTMLTestRunner

class TestAdd(unittest.TestCase):

'''测试add方法'''

def test_add_normal(self):

'''正常测试加法'''

result=my_function.add(1,2)

self.assertEqual(3,result)

def test_add_error(self):

'''测试失败'''

result=my_function.add(1,2)

self.assertEqual(4,result)

def test_add_error2(self):

'''测试失败有报错的'''

result=my_function.add(1,2)

self.assertEqual(4,result,'正常整数加法没有通过')

if __name__=='__main__':

#产生所有用例

test_suite=unittest.makeSuite(TestAdd)

#makeSuite 这个方法点不出来要传类名

with open('report.html','wb')as fw:

# runner=HTMLTestRunner.HTMLTestRunner()

runner=HTMLTestRunner.HTMLTestRunner(stream=fw,title='天马座操作',description='天马座接口座测试报告',verbosity=2)

runner.run(test_suite)

在方法前面加上 ''' ''' 就可以操作了

如果想在测试报告里面添加模板怎么操作

设置完模板在新建一个就出来了   这就是 pycharm python文件模板  的设置操作

test_suite=unittest.defaultTestLoader('case','test*.py') 查找某个目录所有测试用例的用法

针对于 登录这种 方法一样,数据不一样的需要使用参数化

怎么来使用呢

parameterized 安装这个模块使用的方法为

@parameterized.parameterized.expand(

[[1,2,3],[-1,2,1]]

) 也就是

expand 方法来做参数化,把需要参数化的内容写进去

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值