使用behave时,每一步对应的方法都需要参数context,那么context是什么,为什么都需要传这个对象?

在所有用例中的context都是behave.runner.Context类的一个实例
关于behave.runner.Context(runner)类
这个类用来存放用例运行期间的上下文信息,你可以添加带有任意值的任意属性到这个对象。
在你的用例运行期间这个对象会自动添加和删除额外的命名空间层。有一个“根”命名空间,其他的命名空间供features和scenarios使用。

有一些属性名已经被behave占用,所以为了你设置的值不被覆盖掉最好不要在context对象上添加下列属性名:
1.feature
  在开始测试一个新的feature时添加,是Feature的一个实例。在feature外访问不到该属性(比如environment中的before_all和after_all方法中)。
2.scenario
  这是在开始测试一个新的scenario时添加(包括scenario outline对应的每一个独立的scenario),是Scenario类的一个实例。只在scenario范围内可以被访问到。
3.tags
  当前活跃的(active,翻译)tags集合, 是feature和scenario两者的tag集合。在feature范围内可访问。
4.aborted
  这个属性在“根”命名空间中设置,在用户中断一个正在跑的测试时被设为True(键盘产生的中断除外), 初始值是False。也可以通过把这个值设为True来产生一个用户中断
5.failed(todo 不知道有什么意义)
  这个属性在“根”命名空间中设置,当一个step失败时被设置为True.初始值是False
6.table
  这个是step级别的设置,例如:
  Given set init info
  | name | score |
  | tom | 20 |
  | janey | 30 |
  context.table就可以获取到 Given行下表的内容
7.text
  这个也是step级别的设置,用来存放跟当前step相关的多行文本, 例如:
  Give set init info
  '''
  set student name in the name col
  set score in the score col
  '''
  context.text = '''xxxxxxx'''中间的文本内容

基于python的测试框架behave----context的更多相关文章

  1. 【转】基于Python的接口测试框架实例

    下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧   背景 最近公司在做消息推送,那么自然就会产生很多接口,测试 ...

  2. 基于python的接口测试框架设计(三)接口测试的框架

    基于python的接口测试框架设计(三)接口测试的框架 其实我这里用到的是unittest单元测试框架,,这个框架好就好在比较清楚,,setup terdown都可以处理一些初始化及完成后的工作 主要 ...

  3. 基于python的接口测试框架设计(二)配置一些参数及文件

    基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里  毕竟导入的时候方便了一些 首先是url 图略 建 ...

  4. 基于python的接口测试框架设计(一)连接数据库

    基于python的接口测试框架设计(一)连接数据库 首先是连接数据库的操作,最好是单独写在一个模块里, 然后便于方便的调用,基于把connection连接放在__init__()方法里 然后分别定义D ...

  5. 基于Python的接口测试框架实例

    文章来源:http://www.jb51.net/article/96481.htm 下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考. ...

  6. 基于Python接口自动化测试框架+数据与代码分离(进阶篇)附源码

    引言 在上一篇<基于Python接口自动化测试框架(初级篇)附源码>讲过了接口自动化测试框架的搭建,最核心的模块功能就是测试数据库初始化,再来看看之前的框架结构: 可以看出testcase ...

  7. python nose测试框架全面介绍十---用例的跳过

    又来写nose了,这次主要介绍nose中的用例跳过应用,之前也有介绍,见python nose测试框架全面介绍四,但介绍的不详细.下面详细解析下 nose自带的SkipTest 先看看nose自带的S ...

  8. python nose测试框架全面介绍七--日志相关

    引: 之前使用nose框架时,一直使用--logging-config的log文件来生成日志,具体的log配置可见之前python nose测试框架全面介绍四. 但使用一段时间后,发出一个问题,生成的 ...

  9. python nose测试框架全面介绍六--框架函数别名

    之前python nose测试框架全面介绍二中介绍了nose框架的基本构成,但在实际应该中我们也会到setup_function等一系列的名字,查看管网后,我们罗列下nose框架中函数的别名 1.pa ...

随机推荐

  1. flume 启动,停止,重启脚本

    #!/bin/bash #echo "begin start flume..." #flume的安装根目录(根据自己情况,修改为自己的安装目录) path=/sysware/apa ...

  2. SpringInAction-- 配置Profile Bean

    Profile Bean 使用场景描述: 在开发软件的时候,在数据库方面,往往不是一个库就能解决的,一般分为开发库.测试库.生产库,在这些库设置链接的时候,也会配置其对应的数据. 现有一种方式,就是单 ...

  3. bfs+状态压缩dp

    题目连接 题解 : 对两两管道进行bfs,然后用dp[i][j] 来表示在i状态下通过了前j个管道 参考博客 #include<bits/stdc++.h> using namespace ...

  4. lcx端口转发 linux版

    一.端口转发使用 1.攻击机上执行以下命令 ./lcx -p1 -p2 -m 在本地监听3389端口,并将发送到本机3389端口的数据传递到本机2222端口 2.跳板机上执行以下命令 ./lcx -h ...

  5. C语言 运算符详细介绍及示例代码

    C 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本章将逐 ...

  6. 安装Spring报错An error occurred while collecting items to be installed

    原因主要是eclipse和spring版本之间的匹配问题. An error occurred while collecting items to be installed session conte ...

  7. 微信红包算法TEST

    1.基本算法 设定总金额为10元,有N个人随机领取:N=1 则红包金额=X元: N=2 为保证第二个红包可以正常发出,第一个红包金额=0.01至9.99之间的某个随机数 第二个红包=10-第一个红包金 ...

  8. jq的.off解绑事件

    .off( events [, selector ] [, handler ] ) 描述:移除一个事件处理函数 events 类型: String 一个或多个空格分隔的事件类型和可选的命名空间,或仅仅 ...

  9. OpenGL实现3D自由变形

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  10. Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)

    一.前言 之前一个Wannacry病毒样本在PC端肆意了很久,就是RSA加密文件,勒索钱财.不给钱就删除.但是现在移动设备如此之多,就有一些不法分子想把这个病毒扩散到移动设备了,这几天一个哥们给了一个 ...