1. 程式人生 > >RobotFramework框架系列 – TAG選擇執行篇

RobotFramework框架系列 – TAG選擇執行篇

在測試過程中,肯定會遇到選擇測試用例的事情,所以我們將我們的測試用例打上不同的Tag,然後根據測試需要執行不同的Tag

在執行的時候我們我們的Tag支援簡單的模式匹配,也支援TAG邏輯運算,比如And,or,Not等

簡單的模式匹配有:

* 可以匹配空字元和任意字元,比如 Tag* 就是以Tag,Tagx,Tagxx,。。。。

?可以匹配任何單個字元, 比如T?G, 就可以匹配T1G,TaG,TxG。。。。。

除非另有說明,模式匹配是大小寫,空格和下劃線不敏感。

大多數與標籤相關的選項都將引數作為標籤模式,接受它們具有與簡單模式相同的特性,但它們也支援以下所述的AND,OR和NOT運算子。這些運算子可用於將兩個或更多個別標籤或模式組合在一起

AND或 &
如果所有個體模式匹配,則整個模式匹配。 AND和&是等價的,你可以選擇使用任何一種:

–include fooANDbar #匹配同時包含標籤’foo’和’bar’的測試用例。包含
–exclude xx&yy&zz #匹配同時包含標籤’xx’,’yy’和’zz’的測試用例。不包含

OR

如果任何一個個體模式匹配,則整個模式匹配:

–include fooORbar # 匹配任何包含Tag為’foo’或Tag為’bar’測試用例.
–exclude xxORyyORzz # 匹配任何包含’xx’, ‘yy’, or ‘zz’的測試用例.

NOT

如果左側的模式匹配,但右側的模式不匹配,則整個模式匹配。 如果多次使用,則第一個NOT不匹配:

–include fooNOTbar # 匹配標籤’foo’ 但是不含標籤’bar’.
–exclude xxNOTyyNOTzz # 匹配標籤’xx’ 但不含’yy’ 或不含’zz’.

RF2.9開始可以NOT開始了

–include NOTfoo # 不含標籤’foo’
–include NOTfooANDbar # 不含標籤’foo’和標籤’bar’

上面最後一個我們可以看到這些運算子的組合方式的使用,在組合使用時,我們要注意優先順序,優先順序從高到低的:AND > OR > NOT

所有最後一條NOTfooANDbar實際上是NOT(fooANDbar)

–include xANDyORz # 匹配包含標籤x和y,或者包括標籤z,實際上是(xORy)ORz.
–include xORyNOTz # 匹配標籤x或y但是不含z,實際是(xORy)NOTz.
–include xNOTyANDz # 匹配標籤含有x但是不含同時有y和z的標籤測試,實際是xNOT(yANDz).

最後關於TAG需要提醒的是,不區分大小寫