【Selenium】测试框架——UnitTest

本文介绍了Python标准库中的Unittest测试框架,它作为单元测试工具,与Selenium等结合实现UI自动化。文章详细讲解了Unittest的四大特色,包括TestCase、TestFixture、TestSuite和TestRunner,以及环境部署。同时,阐述了如何应用Unittest定义测试类、测试用例,以及用例执行顺序,并给出了运行结果示例。
摘要由CSDN通过智能技术生成

1 UnitTest入门

1.1 介绍

Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架。随着自动化更新,能够完整地结合Selenium、Appium、Requests等实现UI自动化与接口自动化。

1.2 四大特色

  1. TestCase:测试用例。所有的用例都是直接继承于UnitTest.TestCase类。
  2. TestFixture:setUp和tearDown,作为前置条件和后置条件。
  3. TestSuite 测试套件 + TestRunner 测试运行器:能够更有效地针对业务来进行用例管理,包括测试报告的集成
  4. 断言机制:在UnitTest中封装好了成熟断言,通过self.可以直接被调用。

1.3 环境部署

  1. UnitTest是一个测试用例框架
  2. Python安装时就默认会有一个builtin模块,UnitTest框架是默认集成在python中的。意味着只要安装python就有UnitTest
  3. 只需通过import unittest即可实现调用

2 UnitTest测试框架应用

(1) 定义测试类:类名继承unittest.TestCase
(2) 定义测试用例:所有的测试用例,都是以函数的形式存在,函数的名称都要以test_开头;用例执行顺序遵循 0-9, A-Z, a-z
(3) 所有的前置后置都有等级存在:class级别,method级别
method级别:与用例关联每一条用例运行前会执行前置,运行后会执行后置
class级别:必须定义装饰器@classmethod,前置是在所有内容运行前运行一次,后置是所有内容运行结束后运行一次
(4) cls对象只在class级别前后置中定义,调用还是通过self进行调用
(5) 修改cls对象的值,在全局生效,需要通过类名.对象进行赋值操作才可以生效;而通过self.对象进行赋值只能在当下函数中生效(多流程之间有数据的交互)
(6) 定义断言
(7) 运行

# 导入unittest包
import unittest

from selenium import webdriver
from selenium.webdriver.common.by import By

# 定义测试类,必须继承unittest.TestCase
class Visit(unittest.TestCase):

    # class级别前置
    @classmethod
    def setUpClass(cls) -> None:
        cls.wd = webdriver.Chrome()

        cls.title = 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值