lettuce行为驱动总结
1、 pip install lettuce 在Python2.7下安装的
2、 py -3 –m pip install lettuce 在Python3下安装的
3、 执行:进到feature的上级目录下,执行cmd,然后执行lettuce,回车
4、 行为驱动:每一个自然语言都对应一条case;一般用在敏捷开发中,好处在于将所有测试用例和自然语言之间做了一个联系,可以明确的看到每一个测试用例执行的结果
5、 自然语言写的测试用例解释

6、 行为驱动的基本思路:
(1) 取出数据
(2) 用测试数据调用测试方法
(3) 断言测试结果和期望结果是否一致
7、 用类实现的行为驱动中,一些特殊的处理
(1) exclude = ['set_number', 'get_number'] 定义哪些方法不需要执行
(2) def _assert_number_is(self, expected, msg="Got %d"): 私有方法默认也不是测试步骤
(3) step.hashes可以自动获取通过自然语言定义的表格形式的数据,返回的是个列表
(4) 如果feature文件是中文的,必须添加一个这个 # language: zh-CN
8、 行为驱动关键字:顺序是先执行Given,然后When,然后Then,然后And
Scenario:
Given
When
Then
And
Examples:
场景:
如果
当
和
那么
列表:
9、 Virtual env 介绍
在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,而virtualenv就是解决这种情况的,virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,不同项目之间相互不干扰
https://blog.csdn.net/u012734441/article/details/55044025
10、解决中文时控制台乱码的问题
在默认编码为GBK的Windows系统中执行场景使用中文描述的行为驱动测试时,打印到控制台的场景等信息,中文会出现乱码,这是由于lettuce框架将输出到控制台的场景描述信息转成UTF8编码的字符导致的。下面针对lettuce(0.2.23)版本给出具体解决方法。
(1)进入Python安装目录中lettuce安装路径中的plugins目录中,
比如本地路径为C:\Python27\Lib\site-packages\lettuce\plugins。
(2)找到该目录下的colored_shell_output.py文件,
(3)打开该文件,找到该文件的第32行代码what = what.encode('utf-8'),
将其改成what = what#.encode('utf-8')
11、 如何批量执行:将feature文件和py脚本文件放到同一个目录下即可,他会自己寻找feature对应需要执行的文件
lettuce行为驱动总结的更多相关文章
- lettuce行为驱动框架实例
练习: 一:e1_MyFirstBDD 使用方法的方式实现阶乘的计算 zero.feature: Feature: Compute factorial In order to play with Le ...
- Spring Data Redis学习
本文是从为知笔记上复制过来的,懒得调整格式了,为知笔记版本是带格式的,内容也比这里全.点这里 为知笔记版本 Spring Data Redis 学习 Version 1.8.4.Release 前言 ...
- SpringDataRedis入门到深入
一:简介 SpringDataRedis是SpringData开源项目中的一部分,它可以在Spring项目中更灵活简便的访问和操作Redis:原先在没有SpringDataRedis时往往使用Jedi ...
- lettuce webdriver 自动化测试---玩转BDD
行为驱动开发(BDD),依然高大上的矗立在远方,很少被人问津,一方面是BDD的思想不太容易理解,别一方面BDD的资料并不多.中文的资料就更少了. 之前增写过一篇<python BDD 框架之le ...
- python BDD 框架之lettuce
http://pythonhosted.org/lettuce/ 介绍 ...
- python webdriver 测试框架-行为驱动例子
安装行为驱动模块lettuce(卷心菜)模块 pip install lettuce Successfully installed argparse-1.4.0 colorama-0.3.9 extr ...
- Redis分布式锁,基于StringRedisTemplate和基于Lettuce实现setNx
使用redis分布式锁,来确保多个服务对共享数据操作的唯一性一般来说有StringRedisTemplate和RedisTemplate两种redis操作模板. 根据key-value的类型决定使用哪 ...
- Redis高级客户端Lettuce详解
前提 Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之 ...
- Redis篇之操作、lettuce客户端、Spring集成以及Spring Boot配置
Redis篇之操作.lettuce客户端.Spring集成以及Spring Boot配置 目录 一.Redis简介 1.1 数据结构的操作 1.2 重要概念分析 二.Redis客户端 2.1 简介 2 ...
随机推荐
- sqlserver group by后获取其他字段(多种方法)
大家都知道用group by的话,select 后面指定的字段必须与group by后面的一致.group by 只有个别字段,如果拿出其他未分组的字段信息呢?在网上搜了下, 总结如下: 使用了gro ...
- Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境
0x00 背景 从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon.mkvirtualenv等命令进行虚拟环境切换, ...
- Learning-Python【23】:面向对象三大特性
继承 封装 多态
- Linux——命令
1.pod2text # 功能输出处理对象(脚本)中的的=head1 ...=head1 ......=cut框架中的信息 2.date # 输出时间 eg: Sat Ju ...
- python @的用法
来自:https://www.cnblogs.com/jmlovepython/p/7427297.html @相当于在一个函数中调用另一个函数,并执行操作 def funA(x): print(x( ...
- idea新建一个spring项目,图解
废话不说直接按图操作 选择Web模块的Web功能,单击Finish,idea会在spring.io网址上下载功能模板,下载玩成之后就是一个完整的Spring Boot工程 Project locati ...
- 『Python』源码解析_从ctype模块理解对象
1.对象的引用计数 从c代码分析可知,python所有对象的内存有着同样的起始结构:引用计数+类型信息,实际上这些信息在python本体重也是可以透过包来一窥一二的, from ctypes impo ...
- mysql添加字段语句
1.添加 varchar类型的字段: alter table b_warehouse_message add column entity_warehouse_no_test varchar(48) C ...
- JS快速入门笔记
1.JavaScript不区分整数和浮点数,统一用Number表示. NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无 ...
- apply、call、bind的区别
apply.call.bind这三种方法一般用来改变this指向. apply()方法接收两个参数,一个是函数运行的作用域this,另一个是参数数组 call()方法接收两个参数,一个是函数运行的作用 ...