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>", (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 <query>
* Goto Google's home page
* Search for <query>
可以在说明中使用概念中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 <query>
这将对表中所有行执行此方案
在上述例子中,我们重构了说明,在不改变实现的情况下,使之更简洁,扩展性更强
其他特点
这是关于Gauge特性的简要说明。请查阅其他特性
- 报告
- 标签
- 并行执行
- 环境变量
- 屏幕截图
- 插件化
有疑问加站长微信联系(非本文作者)