web自动化测试学习五-测试用例脚本的组织和管理(unittest)

unittest是Python自带的单元测试框架,用于编写和运行可重复的测试。

1.先介绍几个概念:

TestCase :测试用例

TestSuite :测试用例集合。

TestLoader:用来加载TestCase到TestSuite中的

TestRunner:执行测试用例的,测试的结果会保存到TestResult实例中,最终信息包括运行了多少测试用例,成功了多少,失败了多少等。

2.unitest的工作流程

编写TestCase,由TestLoader加载TestCase到TestSuite,然后由TestRunner来运行TestSuite,最后将运行的结果保存在TestResult中。

3.unittest 要求单元测试类必须继承 unittest.TestCase,该类中的测试方法需要满足如下要求:

测试方法应该没有返回值。

测试方法不应该有任何参数。

测试方法应以test 开头

4.示例:我们将mytest1class,mytest2class内中写的测试用例加载运行。

#encoding utf-8
import csv
from selenium import webdriver
import unittest
from time import  sleep
import ddt
'''
def get_csvdata(file_name):
    rows=[]
    data_file=open(file_name,"r")
    reader=csv.reader(data_file)
    for row in reader:
        rows.append(row)
    print(rows)
    return rows

get_csvdata("login.csv")
'''
class mytest1class(unittest.TestCase):
    '''我的第一个测试类'''
    @classmethod
    def setUpClass(cls):#测试用例执行之前运行的函数
       pass
    def test1(self):
        '''第一个测试用例'''
        print("--test1---begin")
        self.assertEqual(1,1)
    def test2(self):
        '''第二个测试用例'''
        print("--test2---begin")
        self.assertEqual(2, 4)
    @classmethod
    def tearDownClass(cls):#测试用例执行之后运行的函数
        pass

mytest2class:

#测试文件myt2.py
import unittest
from selenium import webdriver
class mytest2class(unittest.TestCase):
    '''我的第二个测试类'''
    @classmethod
    def setUpClass(cls):
      pass
    def test1(self):
        '''第三个测试用例'''
        print("--test3---begin")
        self.assertEqual(3,4)
    def test2(self):
        '''第四个测试用例'''
        print("--test4---begin")
        self.assertEqual(4, 4)
 
    @classmethod
    def tearDownClass(cls):
        pass

主程序: 

from selenium import webdriver

import unittest
from mytest1 import mytest1class
from mytest2 import mytest2class

mytest1=unittest.TestLoader().loadTestsFromTestCase(mytest1class)#装载mytest1class
mytest2=unittest.TestLoader().loadTestsFromTestCase(mytest2class)#装载mytest2class
alltest=unittest.TestSuite([mytest1,mytest2])
unittest.TextTestRunner().run(alltest)#执行测试

5.程序运行结果:可以看到会打印执行的测试用例信息,测试用例未通过函数及未通过总数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值