今天学习写pytest用例的时候,看到别人的代码类中的定义:ROBOT_LIBRARY_SCOPE = ‘Global’
然后学习了解了一下这一句代码的意思,原来是RobotFramework自定义关键字

  1. ROBOT_LIBRARY_SCOPE为ROBOT库范围
    这个范围有三个等级,分别是TEST CASE、TEST SUITE、GLOBAL三个等级,默认是TEST CASE;而刚开始学习自定义库,所看到的基本都是GLOBAL这个等级
  2. 定义的作用
    在测试库中声明等级的作用是,在调用这个类的方法,就会实例化这个类,而不需要单独初始化类的实例对象
    –TEST CASE:在每个test case中引用都会实例化一次,只要用例中用到了定义类的方法
    –TEST SUITE:在suite中引用,只会实例化一次,也就是说10个test case都引用了这个类的方法,但是只有第一个test case是调用的时候实例化,后续的共用,不会重复初始化
    –GLOBAL:在全局只实例化一次,调用一次后,在所有suite中引用、test case中引用都不会再实例化
    这种常见的用法就是用于测试类初始化session对象,一般情况下全局测试接口的session头都是一致的,所以我们只需要初始化一次,然后所有的请求都会使用这个session头,如下图:

    最后学习中明白了一个用法,测试模块的__init__.py一定是在测试用例的py文件之前执行的,模块内部的py文件想要使用__init__.py文件中定义的全局变量或者全局方法,仍然要使用from…import进行导入,才能使用,如:from testcases import headers,host#导入定义的变量
    from testcases import mysqlConn,init_data,business_id,device_auth#导入定义的方法和变量集合

python实践日记二相关推荐

  1. Python学习日记(二十八) hashlib模块、configparse模块、logging模块

    hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任 ...

  2. Python学习日记(二十六) 封装和几个装饰器函数

    封装 广义上的封装,它其实是一种面向对象的思想,它能够保护代码;狭义上的封装是面向对象三大特性之一,能把属性和方法都藏起来不让人看见 私有属性 私有属性表示方式即在一个属性名前加上两个双下划线 cla ...

  3. Python学习日记(二十四) 继承

    继承 什么是继承?就是一个派生类(derived class)继承基类(base class)的字段和方法.一个类可以被多个类继承;在python中,一个类可以继承多个类. 父类可以称为基类和超类,而 ...

  4. Python学习日记(二十二) 初识面向对象

    引子 假设我们要开发一个关于飞机大战的游戏,那么游戏的里面就会有两个角色,分别是属于玩家操控的战机和敌方的战机,并且两个战机都有不同的技能或攻击方式,现在我们用自己目前所学的去写出下面的这些代码: d ...

  5. Python学习日记(二十三) 类命名空间和组合

    类命名空间 在一个类中它的函数(方法)属于动态属性,直接定义的变量属于静态属性 首先先定义一个类,并在这个类里面加入静态变量.属性等然后将一个对象实例化 class Fighter: #定义一个战机的 ...

  6. Python学习日记(二十七) 反射和几个内置函数

    isinstance() 判断isinstance(obj,cls)中obj是否是cls类的对象 class Person:def __init__(self,name):self.name = na ...

  7. Python学习日记(二十五) 接口类、抽象类、多态

    接口类 继承有两种用途:继承基类的方法,并且做出自己的改变或扩展(代码重用)和声明某个子类兼容于某基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子 ...

  8. Python学习日记(二十一) 异常处理

    程序中异常的类型 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基 ...

  9. python实践项目(二)

    练习1:逗号代码 假定有下面这样的列表: spam = ['apples', 'bananas', 'tofu', 'cats'] 编写一个函数,它以一个列表值作为参数,返回一个字符串.该字符串包含所 ...

  10. Python学习日记(二十九) 网络编程

    早期的计算机通信需要有一个中间件,A要给B传东西,A必须要把信息传给中间件,B再把从中间件中拿到信息 由于不同机器之间需要通信就产生了网络 软件开发的架构 1.C/S架构 服务器-客户机,即Clien ...

最新文章

  1. bootstrap与Select2使用小结
  2. 从X86向X64迁移的一点心得
  3. 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包
  4. sicily 1068. Euro Efficiency
  5. Reuse library debug in Chrome - phase1 init phase
  6. sparseTM的公式理解
  7. 利用ZEBAR 软件生成ZPL 代码
  8. Python 计算彩色图像信噪比
  9. mysql数据库可以放pdb文件吗_pdb数据库文件的搜索结果-阿里云开发者社区
  10. html的实习报告,HTML实习报告
  11. 唯冠向苹果索赔100亿
  12. jquery的图片播放插件 - colorbox
  13. 学习Java第十九天(一):1、Java中的网络编程
  14. 从关山口到五道口(2019年清华计算机考研全程回顾+经验+总结)
  15. 中小企业发展电子商务的必要性
  16. matlab谐波电流测量,基于MATLAB的谐波电流检测方法的建模与仿真
  17. 变频电源3种电路结构介绍及电路图分享
  18. echarts的world.js世界地图,完整的俄罗斯地图+中国周边岛屿地图
  19. 《创践——大学生创新创业实任务》 单元测试_ 笔记
  20. 为什么模拟集成电路设计中会使用那么多的电流源?

热门文章

  1. oracle 计算标准差函数,Oracle数据库之使用oracle来计算方差及标准差
  2. windows10桌面壁纸的储存地址在哪里
  3. 第三次作业——K米评测
  4. easyscreen调用html,840D——EasyScreen输入密码跳转界面的编写-工业支持中心-西门子中国...
  5. APP开发流程都有哪些?
  6. C++定义一个描述员工(Employee)基本情况的类
  7. 网络冗余计算机,基于冗余计算机的冗余网络IP智能切换方法及系统与流程
  8. amd支持服务器内存,AMD专用内存和普通内存的区别是什么?
  9. Tuxera NTFS如何解决硬盘无法写入文件教程分享
  10. L298N、电机、单片机的线路连接(51、stm32程序)