• 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:Python27Libsite-packageslettuceplugins。

    (2)找到该目录下的colored_shell_output.py文件, 

    (3)打开该文件,找到该文件的第32行代码what = what.encode('utf-8'),

         将其改成what = what#.encode('utf-8')

    11、 如何批量执行:将feature文件和py脚本文件放到同一个目录下即可,他会自己寻找feature对应需要执行的文件

  • 相关阅读:
    无法直接启动带有类库输出类型的项目
    2个页面传值方法
    vs2005 无法附加 绑定句柄无效 解决办法
    认识serializable,序列化
    jsp 连接sql 2008
    有进步,嘎嘎....
    找不到存储过程'dbo.aspnet_CheckSchemaVersion'
    BackOffice Common中实现的相关功能
    MVC中Action相关方法的建议
    mysql的数据库相关维护操作:重启、修改连接数、删除连接
  • 原文地址:https://www.cnblogs.com/jingsheng99/p/9326543.html
Copyright © 2020-2023  润新知