使用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. Intellij IDEA创建包(package)问题解决方案

    问题 在使用IDEA创建包时会出现这样一种场景,就是当一个空包很长时,比如com.secbro.drools.model.这个时候如果你想给drools或model创建同级的包,你会发现,默认创建的包 ...

  2. Python中方法的缺省参数问题分析

    引言: 在Python中可以缺省给方法制定缺省值,但是这个缺省值在某些情况下确是和我们预期不太一致的-... 这个诡异的问题,曾经困然了我几天时间,才最终定位出来-.. 测试代码 from datet ...

  3. EasyPlayer RTSP播放器:一个适用于安防行业的工具利器(EasyPlayer Windows v2.0.17.0709)

    本文转自EasyDarwin开源团队成员Sword的博客:http://blog.csdn.net/swordtwelve EasyPlayer(Windows) v2.0.17.0709版本又更新发 ...

  4. 初用vue遇到的一些问题

    1.过滤器: filters: { search(list) { es5 var _self = this; //return list.filter(menu => menu.childs.n ...

  5. caffe 细节

    batch :http://www.zhihu.com/question/32673260 caffe blog: http://blog.csdn.net/abcjennifer/article/d ...

  6. learn go defer

    package main // 参考文档: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.4.md im ...

  7. Adobe Flash Builder 4.6 Premium 安装破解

    1.到Adobe官网下载FlashBuilder 4.6,有简体中文版: 语言:简体中文(Simplified)http://trials3.adobe.com/AdobeProducts/FLBR/ ...

  8. 剑指offer第二章

    剑指offer第二章 1.二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含 ...

  9. mysql 随机选取一条记录

    要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 1 2 3 4 5 6 7 8 9 1 ...

  10. 关于gradle加快构建速度采用阿里云中央仓库的配置

    近期开始了一段新的开始,在一家在线教育的公司开始下一阶段的工作,鉴于之前的面试中问到了spring的内容基本快要到源码层面的问题了,想要把spring的源码导到idea中,结果出现了下载极慢的问题,如 ...