安装:html
* 安装插件 Gauge--install-alljava
*在IDEA中安装Gauge插件git
基本思想github
* Gauge
的基本思想就是经过.spec
或.md
文件,使用MarkDown
语法去规定执行的动做,而后由Java
或者其余语言的文件去按照所写的.spec
或者.md
文件的顺序去执行Java
文件,从而达到测试的目的缓存
专业术语:app
1 Specification工具
Specification name ================== 或者: # Specification name
2.Scenario测试
Scenario name
---------------------- 或者 ##scenario name
3 Step ui
* Login into my app * Search for "gauge" * Search for "gauge-java"
4.Tagsspa
specification sp1 ========= Tags : spec,login Scenario ------------- Tags: scenario,main-page
5.cioncept
6.Parameters
check "param" exists
check <param> exists
|id|name| |--|--------| |1|tom| |2| mike|
File: * Verify email text is <file:email.txt> * Check if <file:/work/content.txt> is visible CSV: * Step that takes a table <table:data.csv> * Check if the following users exist <table : /Users/john/work/users.csv>
7.Comments
Thisis a comment
8.Image
 
9.Link
This is [an example](http://getgauge.io "Title") inline link. [This link](http://github.com/getgauge/gauge) has no title attribute.
执行项目
经过文件执行
specs
文件夹下的specs.spec
文件gauge specs
specs
文件夹下的specs.spec
文件gauge specs/specs.spec
gauge specs-dir1/ specs-dir2/
gauge specs-dir1/example.spec specs-dir2/example2.spec
Scenario
gauge specs/example.spec:16
数字表明该secnaior所在的行,从0开始
Scenario
gauge specs-dir1/example.spec:16 specs-dir2/example.spec:18
gauge --verbose specs
经过Tags执行
以下列specification的Tags
Login specification =================== Tags: login, admin, user login Successful login scenario ------------------------- Tags: login-success, admin failed login scenario ------------------------- Tags: login-failed, admin
gauge --tag admin specs
带有admin 的全部的或都会被执行 SpecificationScenario
Tag
执行gauge --tag "login,admin" specs
只有同时有和 Tag的或者才会被执行loginadminSpecificationScenario
Tag
gauge --tag "user login" specs
与、或、非
运算!TagA: 执行不含有TagA的Specification或Scenario TagA & !TagB: 执行含有TagA但不含TagB的Specification或Scenario (TagA & TagB) | TagC: 执行同时含有TagA和TagB或者含有TagC的Specification或Scenario (TagA | TagB) & TagC: 执行同时含有TagA和TagC或者TagB和TagC的Specification或Scenario
Gauge中的钩子(Hook)
Java
中的AOP(Aspect Oriented Programming)
,把Specification
或Scenario
当作一个切面,在执行以前和执行以后作一些操做* 做用于全部的specification和scenaior
//在全部的Specification执行以前执行 @BeforeSuite public void BeforeSuite() { // Code for before suite } //在全部的Specification执行以后执行 @AfterSuite public void AfterSuite() { // Code for after suite }
2.specification hook
* 做用于specification,在摸个指定的specification以前或者以后执行 //在每个Specification执行以前执行 @BeforeSpec public void BeforeSpec() { // Code for before spec } //在每个Specification执行以后执行 @AfterSpec public void AfterSpec() { // Code for after spec }
3.Scenario hook
* 做用于Scenario 在每一个Scenario以前或者以后执行 //在每个Scenario 执行以前执行 @BeforeScenario public void BeforeScenario() { // Code for before scenario } //在每个Scenario 执行以后执行 @AfterScenario public void AfterScenario() { // Code for after scenario }
4.step hook
* 做用于Scenario,在每一个scenaior以前或者以后执行 //在每个Step执行以前执行 @BeforeStep public void BeforeStep() { // Code for before step } //在每个Step执行以后执行 @AfterStep public void AfterStep() { // Code for after step }
Gauge
默认会在Scenario
执行以后清除缓存,因此会在下个Scenario
执行以前建立新的对象,该功能能够在配置中设置清除缓存的等级