zoukankan      html  css  js  c++  java
  • 一.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

  • 相关阅读:
    GISer 应届生找工作历程(完结)
    c#跨窗体调用操作
    c#基础学习笔记-----------委托事件
    c#基础笔记-----------集合
    ArcEngine开发鹰眼实现问题
    Null Object模式
    c#基础------------静态类与非静态类
    GIS初学者
    c#基础学习汇总----------base和this,new和virtual
    用Python编写水仙花数
  • 原文地址:https://www.cnblogs.com/zhaobobo001/p/13625889.html
Copyright © 2011-2022 走看看