Gauge框架概要

Gauge是一种轻量级、跨平台的测试自动化框架,支持使用业务语言来组织测试用例。

概要

Gauge是免费开源的测试框架,可读写、运行可支持的测试用例。Gauge框架有一下特点:

  • 简单,可扩展,且支持Markdown语法
  • 可跨平台编写测试代码
  • 丰富的插件库
  • 支持内部数据驱动及外部数据源
  • 支持编写易读的测试套件
  • 很好的支持VS code
什么是说明

Gauge规格是通过Markdown语法实现的,例如

# Search the Internet

## Look for something
* Goto Google's home page

在这个说明中,XXX是说明的头,XXX是场景,场景下有个步骤

是什么是实现

你可以在说明中通过编程语言开实现步骤,例如

step("Goto Google's home page", () => {
  goto("google.com")
});

Gauge运行器读取和运行各步骤,说明中每个场景的实现,生成通过/失败场景的报告

## Look for something  ✔

Successfully generated html-report to => reports/html-report/index.html
Specifications:       1 executed      1 passed        0 failed        0 skipped
Scenarios:    1 executed      1 passed        0 failed        0 skipped

说明:
本文中的例子使用Gauge+javascript+Taiko,一个支持自动启动浏览器的node js库。Gauge支持其他语言来编写步骤实现,Java,C#,Typescript和Golang。你也可是使用其他驱动来实现步骤,如selenium和appium。

重复使用的步骤

Gauge帮助你集中经历在测试应用。Gauge通过使步骤可重用来实现的。通过Gauge,你可以不必搭建相应的框架。
例如,Gauge步骤可以传递参数,通过在文本中添加引用

# Search the internet

## Search Google
* Goto Google's home page
* Search for "Cup Cakes"

实现可使用“XXX”为follows

step("Search for ", (query) => {
  write(query);
  press("Enter");
});

你也可在本场景或者其他场景重复使用步骤,或者传递不同的参数值

# Search the internet

## Look for cakes
* Goto Google's home page
* Search for "Cup Cakes"

## Look for movies
* Goto Google's home page
* Search for "Star wars"

或者在.cpt文件混合使用多个步骤

# Search Google for 
* Goto Google's home page
* Search for 

可以在说明中使用概念中XXX

# Search the internet

## Look for cakes
* Search Google for "Cup Cakes"

## Look for movies
* Search Google for "Star wars"
数据驱动测试

Gauge支持数据驱动测试,通过使用markdown表,同时也支持外部vsv文件,例如:

# Search the internet

|query    |
|---------|
|Cup Cakes|
|Star wars|
|Pies     |

## Look for things
* Search Google for 

这将对表中所有行执行此方案
在上述例子中,我们重构了说明,在不改变实现的情况下,使之更简洁,扩展性更强

其他特点

这是关于Gauge特性的简要说明。请查阅其他特性

  • 报告
  • 标签
  • 并行执行
  • 环境变量
  • 屏幕截图
  • 插件化

官方文档

你可能感兴趣的:(Gauge框架概要)