zoukankan      html  css  js  c++  java
  • 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对应需要执行的文件

  • 相关阅读:
    ZoneJS 的原理与应用
    RxJS 中的观察者和迭代器模式
    前端三大框架:数据绑定与数据流
    Angular 的前世今生
    验证Kubernetes YAML的最佳实践和策略
    GitOps初阶指南:将DevOps扩展至K8S
    如何使用Istio 1.6管理多集群中的微服务?
    5个规则,确保你的微服务优化运行
    使用Thanos实现Prometheus指标联邦
    丢弃掉那些BeanUtils工具类吧,MapStruct真香!!!
  • 原文地址:https://www.cnblogs.com/jingsheng99/p/9326543.html
Copyright © 2011-2022 走看看