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 ...
随机推荐
- ACM总结——2017ACM-ICPC北京赛区现场赛总结
现在距离比赛结束已经过了一个多星期了,也是终于有时间写下心得了.回来就是被压着做项目,也是够够的. 这次比赛一样是我和两个学弟(虽然是学弟,但我的实力才是最弱的T_T)一起参加的,成绩的话打铁,算是情 ...
- bind 笔记
BIND 的安装和配置: dns 服务,程序包名为bind ,程序名称为named 只需要安装 bind ,bind-libs ,bind-utils 生产环境全部安装 bind 服务脚本 :/etc ...
- Git冲突和解决冲突-测试方法
原文链接:https://www.cnblogs.com/blogslee/p/6828659.html
- Learning-Python【5】:Python数据类型(1)—— 整型、浮点型、字符串
一.整型 1.用途:记录年龄.等级.各种号码等 2.定义方式 age = 22 只能将纯数字的字符串转换成整型 3.常用操作+内置方法 赋值运算.比较运算.算数运算 该类型总结: 存一个值 不可变(可 ...
- C++ 将 std::string 转换为 char*
参考: std::string to char* C++ 将 std::string 转换为 char* 目前没有直接进行转换的方法.必须通过string对象的c_str()方法,获取C-style的 ...
- Servelet开发步骤和生命周期
Servelet开发步骤和生命周期 (1) 程序员开发程序,实现servelet的init和destroy接口 .重写servlet的 doGet.doPost.doPut.doDelete四个 ...
- vue-路由懒加载
将import ... from..改为 const Foo = resolve => require(['./Foo.vue'], resolve)
- gii的使用
假设有表link 在backend中生成子模块content 生成子模块模型common/models/Link 生成模块content中的crud 配置别名 在backend/config/main ...
- linux安装elasticsearch-head和elasticsearch-analysis-ik及遇到的各种问题
1.获取elasticsearch-head http://mobz.github.io/elasticsearch-head/ 下载并解压 wget https://github.com/mobz/ ...
- Elasticsearch5.5通过案例学习简单操作
1. 建立员工目录 ES数据库对象与关系型数据库对象对比 Relational DB -> Databases -> Tables -> Rows -> ColumnsElas ...