Tags in a Keyword-Driven Test Automation Framework

我想以前应该有提到过我们公司有个自动化测试的框架软件,叫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,项目可以便捷地检查某个程序模块,或某个功能相关的测试案例的执行状况;或是检查由某个特定的测试人员编写及维护的测试案例;等等各种用途。

About Kaveri, Yi XU

Agile Coach & Consutlant
This entry was posted in Agile&Scrum&Testing&TA. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s