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行为驱动总结的更多相关文章

  1. lettuce行为驱动框架实例

    练习: 一:e1_MyFirstBDD 使用方法的方式实现阶乘的计算 zero.feature: Feature: Compute factorial In order to play with Le ...

  2. Spring Data Redis学习

    本文是从为知笔记上复制过来的,懒得调整格式了,为知笔记版本是带格式的,内容也比这里全.点这里 为知笔记版本 Spring Data Redis 学习 Version 1.8.4.Release 前言 ...

  3. SpringDataRedis入门到深入

    一:简介 SpringDataRedis是SpringData开源项目中的一部分,它可以在Spring项目中更灵活简便的访问和操作Redis:原先在没有SpringDataRedis时往往使用Jedi ...

  4. lettuce webdriver 自动化测试---玩转BDD

    行为驱动开发(BDD),依然高大上的矗立在远方,很少被人问津,一方面是BDD的思想不太容易理解,别一方面BDD的资料并不多.中文的资料就更少了. 之前增写过一篇<python BDD 框架之le ...

  5. python BDD 框架之lettuce

    http://pythonhosted.org/lettuce/ 介绍                                                                 ...

  6. python webdriver 测试框架-行为驱动例子

    安装行为驱动模块lettuce(卷心菜)模块 pip install lettuce Successfully installed argparse-1.4.0 colorama-0.3.9 extr ...

  7. Redis分布式锁,基于StringRedisTemplate和基于Lettuce实现setNx

    使用redis分布式锁,来确保多个服务对共享数据操作的唯一性一般来说有StringRedisTemplate和RedisTemplate两种redis操作模板. 根据key-value的类型决定使用哪 ...

  8. Redis高级客户端Lettuce详解

    前提 Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之 ...

  9. Redis篇之操作、lettuce客户端、Spring集成以及Spring Boot配置

    Redis篇之操作.lettuce客户端.Spring集成以及Spring Boot配置 目录 一.Redis简介 1.1 数据结构的操作 1.2 重要概念分析 二.Redis客户端 2.1 简介 2 ...

随机推荐

  1. sqlserver group by后获取其他字段(多种方法)

    大家都知道用group by的话,select 后面指定的字段必须与group by后面的一致.group by 只有个别字段,如果拿出其他未分组的字段信息呢?在网上搜了下, 总结如下: 使用了gro ...

  2. Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境

    0x00 背景 从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon.mkvirtualenv等命令进行虚拟环境切换, ...

  3. Learning-Python【23】:面向对象三大特性

    继承 封装 多态

  4. Linux——命令

    1.pod2text    # 功能输出处理对象(脚本)中的的=head1 ...=head1 ......=cut框架中的信息 2.date           # 输出时间  eg: Sat Ju ...

  5. python @的用法

    来自:https://www.cnblogs.com/jmlovepython/p/7427297.html @相当于在一个函数中调用另一个函数,并执行操作 def funA(x): print(x( ...

  6. idea新建一个spring项目,图解

    废话不说直接按图操作 选择Web模块的Web功能,单击Finish,idea会在spring.io网址上下载功能模板,下载玩成之后就是一个完整的Spring Boot工程 Project locati ...

  7. 『Python』源码解析_从ctype模块理解对象

    1.对象的引用计数 从c代码分析可知,python所有对象的内存有着同样的起始结构:引用计数+类型信息,实际上这些信息在python本体重也是可以透过包来一窥一二的, from ctypes impo ...

  8. mysql添加字段语句

    1.添加 varchar类型的字段: alter table b_warehouse_message add column entity_warehouse_no_test varchar(48) C ...

  9. JS快速入门笔记

    1.JavaScript不区分整数和浮点数,统一用Number表示. NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无 ...

  10. apply、call、bind的区别

    apply.call.bind这三种方法一般用来改变this指向. apply()方法接收两个参数,一个是函数运行的作用域this,另一个是参数数组 call()方法接收两个参数,一个是函数运行的作用 ...