我想以前应该有提到过我们公司有个自动化测试的框架软件,叫Robot,我是杭州的keyuser之一。这两天在给大家做一个Robot Advanced Training,项目上忙,所以我只承担了讲解tags这一部分的内容。
讲解被我分为两部分,技术上很简单,就是通过“Force Tags”或者“Default Tags”,或者是case里使用“[Tags]”就可以达到目的。第二部分,我认为如何使用和规划以及合理地使用tags更加重要一些。
我使用了3个case文件来示范。
- juha.html
- sami.html
- yi.html
分别如下:
Juha
Setting
| Value
| Value
| Value
| Value
|
Force Tags
| Juha
|
|
|
|
|
|
|
|
|
Variable
| Value
| Value
| Value
| Value
|
|
|
|
|
|
Test Case
| Action
| Argument
| Argument
| Argument
|
Juha Rantanen
| [Tags]
| Rantanen
|
|
|
| Log
| Juha Rantanen
|
|
|
Juha Vehmas
| Log
| Juha Vehmas
|
|
|
Juha Puonti
| Log
| Juha Puonti
|
|
|
Keyword
| Action
| Argument
| Argument
| Argument
|
|
|
|
|
|
Sami
Setting
| Value
| Value
| Value
| Value
|
Force Tags
| Sami
|
|
|
|
|
|
|
|
|
Variable
| Value
| Value
| Value
| Value
|
|
|
|
|
|
Test Case
| Action
| Argument
| Argument
| Argument
|
Sami Pesonen
| Log
| Sami Pesonen
|
|
|
Sami Lilja
| Log
| Sami Lilja
|
|
|
Sami Tilander
| Log
| Sami Tilander
|
|
|
Sami Rantanen
| [Tags]
| Rantanen
|
|
|
| Log
| Sami Rantanen
|
|
|
Keyword
| Action
| Argument
| Argument
| Argument
|
|
|
|
|
|
Yi
Setting
| Value
| Value
| Value
| Value
|
Force Tags
| Yi
|
|
|
|
Default Tags
| Male
|
|
|
|
Variable
| Value
| Value
| Value
| Value
|
|
|
|
|
|
Test Case
| Action
| Argument
| Argument
| Argument
|
Xu Yi
| Log
| Xu Yi
|
|
|
Yao Yi
| Log
| Yao Yi
|
|
|
Lv Yi
| Log
| Lv Yi
|
|
|
Sun Yi
| [Tags]
| Female
|
|
|
| Log
| Sun Yi
|
| |
Keyword
| Action
| Argument
| Argument
| Argument
|
|
|
|
|
|
很喜欢以前Elisabeth Hendrickson的培训里面提到的一点,自动化测试很重要的一点就是“变量”,凡是可能会变化或者不同的事物间有区别的属性都可以作为变量。而在此处,只要是有意义的属性,就可以用来作为tags。
tags中文就是标签,我们可能会在日常生活中给人们打上标签,可能有“足球爱好者”,“男人”,“科学家”,“中国人”,等等不一而足。而通过tags,我们可以将一部分具有相同或相似属性的人归类,如例子中,juha.html里面最普通的属性就是“juha”,大家的名都是“juha”,同理有sami.html里面的“sami”,和yi.html中的“yi”。
同样,yi.html里面的人物可能还会具有其他的一些属性,我们猜测所有名“yi”的人可能大多数都是男性,但我们又不是很确定,所以不能设为无法被改写的“Force Tags”。此时,我们可以选择使用“Default Tags”,设置为“Male”,然后为“Sun Yi”这个特殊情况设置自己独特的tags —— “Female”。
那么这样的效果如何呢?请看附图。
也即,通过合理地规划设计tags,项目可以便捷地检查某个程序模块,或某个功能相关的测试案例的执行状况;或是检查由某个特定的测试人员编写及维护的测试案例;等等各种用途。
|
|
Pingback:Tags in a Keyword-Driven Test Automation Framework | Robot Framework中文站