python自动化基础(参数化)

Posted 那个谁呢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python自动化基础(参数化)相关的知识,希望对你有一定的参考价值。

一、创建加法类

#定义一个数学加法类
class Mathmethod():
    def add(self,a,b):
        return(a+b)
    def sub(self,a,b):
        return(a-b)

 二、创建测试用例,并进行参数化

import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math1.Mathmethod import Mathmethod  # 引入Mathmethod模块
#import HTMLTestRunnerNew

class TestMathmethod(unittest.TestCase):
    #超继承(既有父类的特性,又有自己的新特性)
    #子类有跟父类相同的特性,就会覆盖父类的特性  重写
    def __init__(self,methodName,a,b,excepted):
        super(TestMathmethod,self).__init__(methodName)#超继承父类的初始化函数
        self.a=a
        self.b=b
        self.excepted=excepted

    def test_method_add(self):
        res=Mathmethod().add(self.a,self.b)
        print(两个数值相加结果是,res)
        self.assertEqual(self.excepted,res)

 

三、生成测试报告

(1)用列表的形式引入测试数据并生成测试报告

import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math1.TestMathmethod import TestMathmethod

test_data=[[0,0,0],[1,2,3],[-1,5,4],[1,-3,-2],[-1,-1,-2]]#列表嵌套,二位列表
testunit=unittest.TestSuite()#生成单元测试流程
for data in test_data:
    testunit.addTest(TestMathmethod("test_method_add",data[0],data[1],data[2]))#加载测试用例
fp=open(D:\test\unittest1.html,wb)#创建测试报告,以写的方式存入某个路径
runner=HTMLTestRunner(
    stream=fp,
    title="加法测试",
    description="用例执行情况:"
    )
runner.run(testunit)
fp.close()

 

(2)用读取TXT文本的方式传入测试数据,形成测试报告

 

 

 

 

 

 

 

 

 

 

以上是关于python自动化基础(参数化)的主要内容,如果未能解决你的问题,请参考以下文章

Python-虫师自动化测试模型--参数化

Python基础之pytest参数化

python自动化之数据驱动 - data driven(参数化)

Python单元测试框架之unittest参数化(paramunittest)

python常用代码

python+selenium自动化--参数化(paramunittest)