一.unittest框架初识

由于公司项目中需要实现web自动化脚本的编写,并且是通过unittest框架去实现这个web自动化

所以先把项目实际运用中的框架熟悉,后面再看看能不能通过pytest框架去实现,看看两者之间的不同,发现两者各自的优点与缺点

 

一、unittest框架四大核心概念

1.测试用例 Test Case

  测试用例必须在类中

  测试用例所在的类,必须继承TestCase

  测试用例的方法名必须以test开头

  测试用例的执行顺序,按照Ascill码顺序(0-9,A-Z,a-z)

  利用父类的TestCase的assert XXX方法来断言

  用@unittest.skip(reason)装饰来跳过测试用例

2.测试固件 Test Fixture   --解决环境初始化问题的作用

  也叫测试夹件,主要工作是【初始化和善后】

  测试固件分为两种,一种是类级别的,一种是方法级别的

  类级别的测试固件,所有的测试用例执行之前与之后运行一次

  方法级别的测试固件,每个测试用例执行之前和之后都执行一次

3.测试套件 Test Suite    --解决如何把多个测试用例组织在一起执行

  是用来组织测试用例的

  如

  

 

 

4.执行器 Test Runner  --解决测试报告问题

  用来执行测试用例的

   

 

 

二、HtmlTestRunner报告 :

1.使用经典版HtmlTestRunner插件

2.不使用HtmlTestRunner插件

 

三、ddt数据驱动  pip install ddt

1.熟悉ddt语法

2.执行excel用例

 

 

Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。

例子1
x = 1

def func():
    x = 2

func()
print(x)
输出:1 
在func函数中并未在x前面加global,所以func函数无法将x赋为2,无法改变x的值

例子2
x = 1

def func():
    global x
    x = 2

func()
print(x)
输出:2 
加了global,则可以在函数内部对函数外的对象进行操作了,也可以改变它的值了

例子3
global x
x = 1

def func():
    x = 2

func()
print(x)
输出:1 
global需要在函数内部声明,若在函数外声明,则函数依然无法操作x

posted @ 2020-09-07 11:27  小boboa  阅读(187)  评论(0编辑  收藏  举报