Intellij IDEA + Maven + Cucumber 项目 (五):使Tags的使用
在实际项目中,随着项目的进行,一个测试工程可能由多个feature文件组成,并且每个feature文件中可能也是由多个scenario组成。默认情况下,每次运行是运行所有feature中的所有scenario。这样可能导致正常情况下运行一次测试脚本,需要非常长的时间来等待测试结果。
但是实际过程中,测试用例是有优先级等区分的。比如smokeTest、regressionTest等。或者有时候会有特别小部分的用例,比如等级是critical,这些用例需要长时间运行来监测系统是否没有白页或者页面404等现象。
所以我们必须区分开所有的scenario,可以使我们在启动测试脚本时,可以根据我们需要来运行哪些模块的scenaro。这时我们可以使用Tags
在Cucumber里Tag是直接在Feature、Scenari或Scenario Outline关键字前给feature或scenario添加任意数量的前缀为@的tags,多个tag用空格来分隔。如:
- @Search @smoke
- Feature: 百度搜索
- 打开百度进行搜索
- @BaiduSearch
- Scenario: 百度搜索selenium
- Given Go to baidu home
- When I find baidu logo
- And Type the search text "selenium"
- And Click the submit
- Then Wait the query result
- @GoogleSearch
- Scenario: 谷歌搜索selenium
- Given Go to google home
- When I find google logo
- And Type the search text "selenium"
- And Click the submit
- Then Wait the query result
上面的脚本中,Feature的@Search、@smoke是自动被其下的Scenario继承。
并且Feature中的每个Scenario可以自己定义专属自己的tag
如Scenario: 百度搜索selenium ,该场景目前有三个tag: @Search、@smoke、@BaiduSearch