zoukankan      html  css  js  c++  java
  • 一分钟认识:Cucumber框架(一)

    个人感觉这个框架非常适合UI自动化测试,他不仅能把用例中的测试步骤以非常友好的形式展现出来,而且能够非常灵活的构建场景;

    一、简介

    • Cucumber 是一个能够理解用普通语言 描述的测试用例的行为驱动开发(BDD)的自动化测试工具,用Ruby**编写,支持Java和·Net等多种开发语言。

    • Cucumber可以让人们用近似自然的语言去描述Feature和场景,根据Feature驱动开发。用作软件技术人员和非技术之间验收测试的桥梁。它是一个命令行工具。运行后,会执行features中的内容。feature中的step会调用stepdefinitions(Ruby代码)可以用标签来组织场景支持40多种语言高质量集成Ruby

    二、Cucumber三大组成

    • 组成
      Features、Step_definitions、Cucumber command。
     
    结构图
    • 对应传统测试工具:
      Feature (功能)-------------test suite (测试用例集)
      Scenario(情景)-----------test case (测试用例)
      Given(给定)-------------setup(创建测试所需环境)
      When(当)----------------test(触发被测事件)
      Then(则)-----------------assert(断言,验证结果)

    • 工作原理:

     
    工作原理

    三、Features

    • 语法规则:
    • 基于Gherkin。支持语言:# language: en (zh-CN)等
    • Features文件必须以.features命名。
    • 包含title,多个scenarios,每个scenario包含多个step。
    • Step定义必须以关键字Given,When,Then,And开始。

    四、Step_definitions

    • 根据feature文件中定义的step编写对应的测试代码。

    五、Cucumber command

    • 运行:*.feature文件。cucumber会分析feature文件中定义的step,然后去step - definitions寻找相匹配的step,执行step中的代码。
    • 运行结果以html的形式保存,fail的情况查看对应log日志

    六、Cucumber的开发过程

    • 创建feature文件,包括feature,scenarios和step。
    • 创建step_definitions,即RUBY代码并实现。如果只有step,没有step definitions,会报undefined错。Ruby写法:Given /^the input "([^"]*)"$/ do |arg1|。运行feature,控制台中会输出RUBY的实现方法,只要实现step_definitions即可。
    • cucumber --format progress。格式化输出。可修改为html,xml等格式输出。
    • 添加断言:
    • 一个场景失败,Cucumber将此场景标记失败,转去执行下一场景。
    • 一个step失败,会跳过这个scenario的其余step,从而终止这个scenario。

    七. Gherkin方法:

    • 关键字:
    • Feature
    • Background
    • Scenario
    • Scenario Outline
    • Scenarios(or Examples)
    • Given
    • When
    • Then
    • And(or But)
    • |(用来定义表格)
    • """(定义多行字符串)
    • # (注释)

    五、示例代码

    点击查看[https://github.com/maxuechaogao/demo-cucumber.git]



    作者:古佛青灯度流年
    链接:https://www.jianshu.com/p/b934ce61c9dc
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    运行jar包中的main方法
    (转)如何判断VPS是基于哪种虚拟技术?Xen、OpenVZ、Xen HVM、KVM还是VMware
    centos安装redis
    Jmeter性能测试
    Jmeter脚本录制
    【Tomcat】Tomcat安装及Eclipse配置教程
    【接口测试】【SOAP】简单的接口测试学习
    JMeter性能测试,完整入门篇
    monkey命令详解
    APP专项测试
  • 原文地址:https://www.cnblogs.com/yulinfu/p/15361611.html
Copyright © 2011-2022 走看看