初识gauge自动化测试框架(二)

看到一些同学对该工具有点一兴趣,那么我将继续介绍Gauge自动化测试工具。

Gauge本质上一个BDD(Behavior Driven Development)测试框架。所以,首先你要了解BDD的操作方式。

BDD包含两部分,一部分是: 软件行为描述。另一部分是: 针对描述编写测试代码

首先,行为描述文件描述如下。

# 计算器

我想实现一个简单的计算器,这个计算器可以做两个数的加、减、乘、除运算。

## 测试加法

* 创建Calculator类。
* 相使用add方法,计算3 加5 的结果为8。

创建一个行为文件specs/calculator.spec,将上面的内容翻译一下:

# Calculator

I'm implementing a simple calculator that can add,
subtract, multiply, and divide two numbers.

## Test addition

* Create a Class Calculator.

* Using Add method, digital "3" plus "5" result is "8".

唯一和其它BDD框架不同之处在于,Guage的行为描述文件是由markdown话法编写。
比如Python的BDD框架behave是由一些关键字组成(Feature、Scenario、Given、When、Then等)。

# -- FILE: features/example.feature
Feature: Showing off behave  

 Scenario: Run a simple test
    Given we have behave installed
      When we implement 5 tests
    Then behave will test them for us!

好了,我上面用markdown写的行为文件我想你是可以看懂的,如果实在不懂markdown语法的话。也许这个在线工具可以帮你快速学习:

http://mahua.jser.me/

再接下来,针对行为文件来写代码实现。创建 setp_impl/calculator.py 文件。

from getgauge.python import step

@step("Create a Class Calculator.")
def create_Calculator():
    calc = Calculator()

@step("Using Add method, digital <a> plus <b> result is <c>.")
def test_add(a, b, c):
    calc = Calculator()
    result = calc.add(a, b)
    assert result == int(c)

class Calculator():

    def add(self, x, y):
        return int(x) + int(y)

在实现测试代码文件中,通过 @step() 装饰器引用行为描述文件中的步骤,并将其中用到的数据通过 <变量> 替换,将变量用到测试步骤中。

严格来说,Calculator() 类的实现应该单独文件中实现,这里只是为了省事儿。

在项目根目录下运行 gauge run specs命令。

查看测试报告。

如果我想增加测试用例呢? 很简单,只需要增加行为描述即可。

……

## Test addition big number

* Create a Class Calculator.

* Using Add method, digital "301" plus "578" result is "879".

那么问题来了,gauge到底可以用来做什么类型的测试,这里有一些例子供你参考。
https://getgauge-examples.github.io/

原文地址:https://www.cnblogs.com/fnng/p/9833862.html

时间: 2024-10-08 14:40:12

初识gauge自动化测试框架(二)的相关文章

初识 iOS 自动化测试框架 WebDriverAgent

微信跳一跳最近很火,外挂代练什么的也越来越多.作为一只程序猿,对外挂的原理产生了强烈的好奇心,于是埋头研究了一阶段,注意到了 WebDriverAgent 这套 Facebook 出品的自动化测试框架. 为了让大家产生兴趣,先从跳一跳外挂的实现说起. 准备工作 安装 homebrew homebrew 是 Mac OS 下最优秀的包管理工具,没有之一. xcode-select --install ruby -e "$(curl -fsSL https://raw.githubuserconte

初识pytest自动化测试框架

前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作.pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixture模型.pytest是一个软件测试框架,是一款命令行工具,可以自动找到测试用例执行,并且回报测试结果.有丰富的基础库,可以大幅度提高用户编写测试用例的效率.具备扩展性,用户可以自己编写插件,或者安装第三方提供的插件.可以很容易地与其他工具集成到一起使用.比如持续集成,web自动化测试等. 下面列举了

Python+requests+exce接口自动化测试框架

一.接口自动化测试框架 二.工程目录 三.Excel测试用例设计 四.基础数据base 封装post/get:runmethod.py #!/usr/bin/env python3 # -*-coding:utf-8-*- # __author__: hunter import requests import json class RunMain: def send_get(self, url, data): res = requests.get(url=url, params=data).js

接口自动化测试框架:jmeter + ant + jenkins(二)

接上一篇文章:接口自动化测试框架:jmeter + ant + jenkins(一) 三.一个及多个jmx文件多个请求报告展示 上面只有一个请求,我们看看多个请求的效果 一个jmx多个请求 在线程组下再新增一个http请求,在同一个jmx文件内,设置好新的http请求,执行成功 重新ant下,结果如下: 多个jmx多个请求:同理,这里不继续阐述了. 四.ant调用jmeter脚本(通过jenkins) 启动tomcat中的startup,按win+r键,输入startup 不要关闭,在浏览器中输

Android 自动化测试框架

Android常用的自动化测试工具框架: Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk 但是这些工具框架都有什么关系呢,先通过一张图来了解一下吧.(图是某博客上借过来的) 是不是一脸懵逼,不知道这是什么鬼.下面详细了解一下. 一.Monkey 是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用

基于Selenium的自动化测试框架 - SeLion学习之一(基本介绍)

SeLion是一个基于Selenium的自动化测试框架,是Selenium下的一款非常优秀的框架结构,但是资料非常少,在国内使用的也就相对较少,本人会用一系列的文章,比较详细的介绍该框架结构,希望能给广大的自动化测试爱好者提供一个实现思路,如果对该本人文章感兴趣或者有什么问题,欢迎留言,我会尽量回答,也欢迎转载该系列文章.该文章是本系列第一节,SeLion的基本介绍,先让大家对SeLion有一个基本的认识. 一:SeLion是什么?SeLion是基于Selenium的一款开源测试框架,是对Sel

移动APP自动化测试框架

简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的"变", 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题:其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受:自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的.本文通过分析几种自动化框架的异同,使测试人员

谈自动化测试框架思想与构建

序言:也许到现在大家对所谓的"自动化测试框架"仍然觉得是一种神秘的东西,仍然觉得其与各位很远:其实不然,"自动化测试框架"从理念来说,并不复杂,但其之所以神秘,是因为其运用起来很是复杂,每个公司,每个部门其产品线,其运作流程都是不同的,所以就导致了在想运用"自动化测试框架"去完成自动化测试时产生了很多不定因素,导致了很多自动化测试项目的失败,让人对"自动化测试框架"开始敬而远之. 而自动化测试发展也有一段时间了,为什么到现在虽

Robotium自动化测试框架实用教程(图)

一.简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各种控件进行操作.Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试.另外,Robotium 4.0版本已经支持对WebView的操作.Robotium 对Activity,Dialog,Toast,Menu 都是支持的. 二.相关下载 源码获取:http://code