【博学谷学习记录】超强总结,用心分享|软件测试之Python学习笔记(四))

UnitTest框架

介绍

框架

说明:

1.框架英文单词framework

2.为解决一类事情的功能集合

>需要按照框架的规定(套路)去书写代码

什么是UnitTest框架?

概念:UnitTest是Python自带的一个单元测试框架,用它来做单元测试。

自带的框架(官方):不需要单外安装,只要安装了Python,就可以使用

random,json,os,time

第三方框架:想要使用需要先安装后使用(pytest)

selenium,appium,requests

单元测试框架:主要用来做单元测试,一般单元测试是开发做的.

对于测试来说,unittest框架的作用是自动化脚本(用例代码)执行框架(使用unittest框架来管理运行多个测试用例的)

为什么使用UnitTest框架?

1.能够组织多个用例去执行

2.提供丰富的断言方法(让程序代码代替人工自动的判断预期结果和实际结果是否相符)

3.能够生成测试报告

UnitTest核心要素(unitest 的组成部分)

TestCase(最核心的模块)

TestCase(测试用例),注意这个测试用例是unittest框架的组成部分,不是手工和自动化中我们所说的用例(TestCase)

主要作用:每个TestCase(测试用例)都是一个代码文件,在这个代码文件中来书写真正的用例代码

TestSuite

TestSuite(测试套件),用来管理组装(打包)多个TestCase(测试用例)的

TestRunner

TestRunner(测试执行,测试运行),用来执行TestSuite(测试套件)的

TestLoader

TestLoader(测试加载),功能是对TestSuite(测试套件)功能的补充,

管理组装(打包)多个TestCase(测试用例)的

Fixture

Fixture(测试夹具),书写在TestCase(测试用例)代码中,是一个代码结构,可以在每个方法执行前后都会执行的内容

举例:

登录的测试用例,每个用例中重复的代码就可以写在Fixture代码结构中,只写一遍,但每次用例方法的执行,都会执行Fixture中的代码

1.打开浏览器

2.输入网址

TestCase(测试用例)

1.是一个代码文件,在代码文件中来书写真正的用例代码

2.代码文件的名字必须按照标识符的规则来书写(可以将代码的作用在文件的开头使用注释说明)

步骤

1.导包(unittest)

2.自定义测试类

3.在测试类中书写测试方法

4.执行用例

代码

代码的目的: 学习 TestCase(测试用例)模块的书写方法

# 1, 导包

importunittest

# 2, 自定义测试类, 需要继承 unittest 模块中的 TestCase 类即可

classTestDemo(unittest.TestCase):

# 3, 书写测试方法, 即 用例代码. 目前没有真正的用例代码, 使用 print 代替

# 书写要求, 测试方法 必须以 test_ 开头(本质是以 test 开头)

deftest_method1(self):

print('测试方法 1')

deftest_method2(self):

print('测试方法 2')

# 4, 执行用例(方法)

# 4.1 将光标放在 类名的后边 运行, 会执行类中的所有的测试方法

# 4.2 将光标放在 方法名的后边 运行, 只执行当前的方法

问题一  代码文件的命名不规范

1.代码文件的名字以数字开头

2.代码文件名字中有空格

3.代码文件名字有中文

4.其他的特殊符号

(数字,字母,下划线组成,不能以数字开头)

问题 2  代码运行没有结果

右键运行没有unittestsfor的提示,出现的问题

解决方案:

方案1.重新新建一个代码文件,将写好的代码复制进去

方案2.删除已有的运行方式

问题 3 没有找到用例

测试方法中不是以test_开头的,或者单词写错了

TestSuite & TestRunner

TestSuite(测试套件):管理打包组装TestCase(测试用例)文件的

TestRunner(测试执行):执行TestSuite(套件)

步骤

1.导包(unittest)

2.实例化(创建对象)套件对象

3.使用套件对象添加用例方法

4.实例化运行对象

5.使用运行对象去执行套件对象

代码

TestSuite(测试套件): 是用来管理多个 TestCase(测试用例) 的,

先创建多个 TestCase(测试用例) 文件

学习 TestSuite 和 TestRunner 的使用

# 1. 导包(unittest)

import unittest

from hm_07_testcase1 import TestDemo1

from hm_07_testcase2 import TestDemo2

# 2. 实例化(创建对象)套件对象,

suite = unittest.TestSuite()

# 3. 使用套件对象添加用例方法

# 方式一, 套件对象.addTest(测试类名('方法名'))  # 建议测试类名和方法名直接去复制,不要手写

suite.addTest(TestDemo1('test_method1'))

suite.addTest(TestDemo1('test_method2'))

suite.addTest(TestDemo2('test_method1'))

suite.addTest(TestDemo2('test_method2'))

# 4. 实例化运行对象

runner = unittest.TextTestRunner()

# 5. 使用运行对象去执行套件对象

# 运行对象.run(套件对象)

runner.run(suite)


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容