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 ...
随机推荐
- 超详MySQL5.7.17压缩包安装图文教程
靠吹风机暖手写完这篇教程...网络上关于MySQL 5.7.17的安装教程很少且不详细,所以总结了这样一篇文章,希望能帮到大家:(相较于Oracle的安装,MySQL还是简单得多) 1. 下载网址:h ...
- cpu使用率低负载高,原因分析
原因总结 产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低. 下面内容是具体的原理分析:在分析负载为什么 ...
- socket实现文件传输
server:===========================================import socketimport structimport jsonsk = socket.s ...
- Learning-Python【补充篇】:Python之可变类型与不可变类型
可变类型 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型 不可变类型 值变了,id也跟着变,证明是重新开辟一块内存空间生成了新的值,而不是在改变原值,原值是不可变类型
- galera+mycat高可用集群部署
环境描述 10.30.162.29 client 环境描述 10.30.162.29 client 10.30.162.72 mysql1 10.30.162.73 mysql2 10.30.162 ...
- IOS MVC与MVVM的区别
MVVM是对胖模型进行的拆分,其本质是给控制器减负,就是把一些弱业务放到VM中去处理. MVC是一切设计的基础,所有新的设计模式都是基于MVC的改进.
- Qt 从菜单栏打开文件
Qt从菜单栏的下拉菜单选择文件 构造函数中设置打开动作信息 //打开文件 m_menu = ui.menu; // m_menu->menuAction = new QAction(QIcon( ...
- buntu下cutecom图像界面串口调试工具使用
一.安装,首先下载这个软件,终端和软件中心均可下载,终端下载命令: sudo apt-get install cutecom 即可快速搞定安装问题. 软件中心: 由于我已经通过终端安装成功,所以软件中 ...
- pandas 对象中 to_pickle 方法参数命名问题,不能用frame
这句话一直报错,经过反复排查,是命名问题,to_pickle() 参数不能是 frame,换一个名字就可以了 frame.to_pickle('examples\local_frame_pickle' ...
- 重建索引报错-python数据分析
obj3 = pd.Series([']) obj3.reindex(range(), method='ffill') 此时会爆出一大堆错误. 出错原因是:之前 obj3 的索引是字符串类型,重新索引 ...