赞
踩
如果你选用python做自动化测试,那么python测试框架的相关知识你必须要了解下。
首先我们先学习一下框架的基本知识。
什么是框架(百度百科)?
框架( Framwork )是构成一类特定软件可复用设计的一组相互协作的类。框架规定了你的应用的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特定细节。
什么是自动化测试框架?
自动化测试框架是一个工具脚本集合,用于组织和管理自动化基础功能(打开浏览器、鼠标点击、登录等)自动化测试用例、提供测试结果统计报告。
自动化测试框架能够提供可靠的测试服务,对于新需求能够快速扩展,能够让测试工程师简单高效的完成自动化测试任务。
测试框架的优点如下
一个典型的自动化测试框架目录
典型自动化测试框架目录
unittest
unittest框架是python内置的单元测试框架,unittest的设计灵感最初来源于Junit以及其他语言中具有共同特征的单元框架。它能编写组织用例、执行用例,还可输出测试报告等。
它具有如下优点:
为了实现这些,unittest产生了以下几个概念:
代码示例:
- import unittest
-
- class TestStringMethods(unittest.TestCase):
-
- def test_upper(self):
- self.assertEqual('foo'.upper(), 'FOO')
-
- def test_isupper(self):
- self.assertTrue('FOO'.isupper())
- self.assertFalse('Foo'.isupper())
-
- def test_split(self):
- s = 'hello world'
- self.assertEqual(s.split(), ['hello', 'world'])
- # check that s.split fails when the separator is not a string
- with self.assertRaises(TypeError):
- s.split(2)
-
- if __name__ == '__main__':
- unittest.main()
pytest
很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。
如果你的项目比较小、复杂度比较低,Pytest是最适合的自动化测试平台。非常多的Python开发者都喜欢它,他们大部分用它来进行单元测试。
Pytest最好的特性之一是,它提供了测试用例的详细失败信息,使得开发者可以快速准确地改正问题。它兼容最新版本的Python。它还兼容unittest、doctest和nose,开箱即用。它还有包含更多功能的插件和多样化的现有测试技术和测试用例。
脚本执行示例:
- # content of test_sample.py
- def inc(x):
- return x + 1
-
-
- def test_answer():
- assert inc(3) == 5
执行后的信息:
- $ pytest
- =========================== test session starts ============================
- platform linux -- Python 3.x.y, pytest-5.x.y, py-1.x.y, pluggy-0.x.y
- cachedir: $PYTHON_PREFIX/.pytest_cache
- rootdir: $REGENDOC_TMPDIR
- collected 1 item
-
- test_sample.py F [100%]
-
- ================================= FAILURES =================================
- _______________________________ test_answer ________________________________
-
- def test_answer():
- > assert inc(3) == 5
- E assert 4 == 5
- E + where 4 = inc(3)
-
- test_sample.py:6: AssertionError
- ========================= 1 failed in 0.12 seconds =========================
Robot Framework
Robot Framework- 通用的python测试框架,提供一个图形用户界面,方便管理和编辑测试用例,易于上手,生成的报告比较好看,支持关键字和数据等驱动。
Robot Framework是独立于操作系统和应用程序,支持跨平台,例如Windows、MacOS和Linux。这个产品是由世界上一些著名的测试人员创建的,拥有关键词驱动方案。它有丰富的工具和库,使得这个框架非常先进和健壮。
示例:
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。