前言:
我使用TD时间也不是非常长,和牛人相比那是天壤之别!只是我有幸配置TD。相信不是哪么多测试人员有这种锻炼的机会!
在我配置的过程中,发现关于工作流(workflow)的资料非常之少,给我配置起来带来了很大时间上的浪费。可是工作流却是TD功能宽度和自定义级别最大的,如果不学会来使用,TD很多应该能实现的功能都可能大打折扣或者不能使用。当然,本着对初学者和不太懂的人以借鉴的思想,我尽量写的简便通俗易懂点
一、基础篇:
为了能够更好的开始讲解工作流,我先说明些东西。这些内容是基础。请耐心看,如果你已经知道可以跳过。
1.作流其实就是TD中提供的一种可以达到编程效果的一个编辑器。我们可以直接编辑脚本,不用单独编译。
2.工作流脚本是使用VB语言编写的,所以它支持如msgbox类的输入输出函数。
3.您需要明确知道你想在什么时候执行你的脚本。比如Defects_Bug_New里面的语句只在你新建缺陷的时候执行,其他时候是不执行的。
再比如Defects_Bug_FieldChange就是在缺陷内容发生改变了的时候执行的语句。
4.一般默认的东西我们不要乱作修改。如:
Sub Defects_Bug_FieldChange(FieldName) On Error GoTo 0 End Sub |
这些内容我们就要保留。
5.同样的Sub可以存在多个,也就是说如Sub Defects_Bug_FieldChange(FieldName)这样的函数我们可以编写几个,不必要修改系统原来的Sub Defects_Bug_FieldChange(FieldName)
6.文中提到的,TD数据库中使用的字段(如BG_BUG_ID)。是那里来的?
它是在你需要输入USER ID和Password那个页面(/start_a.htm),右上角有个叫CUSTOMIZE的链接,点击下,用admin用户登陆,在“Customize Project Entities” -> “DEFECT”里面的System Fields或者User Fields里面随便选择一个字段,右边查看里面“Field Name”后面的就是数据库中使用的字段了的名字了。比如你选择Subject,对应的Field Name就是BG_SUBJECT.
7.工作流中的GoTo语句不能像VB里面那样使用。因为标签是无效的。
8.理论上来讲,TD中的大部分功能东西都能通过这里编辑,比如按钮。事件。当然前提是你够熟悉。
9.如果要脚本起作用,只要退出再登陆进TD.脚本就会立刻起作用。
二、工作流的实践一 ——新建缺陷时候的默认值
需求说明:我们在打开添加缺陷的页面的时候(特别是使用了自定义字段的时候)我们最希望的就是给这些不是非常重要的,但是又不希望没有内容的字段,有些默认值。哪么我们第一个来做的就是这个需求。请先看代码。
Sub Defects_Bug_New On Error Resume Next Bug_Fields("BG_DETECTION_VERSION").Value = "Ehome 2.0" On Error GoTo 0 End Sub |
这段代码,你只要复制到工作流脚本中去,哪么你在添加缺陷的时候,版本这个字段里面就会自动有一个内容Ehome 2.0。这段代码中的Defects_Bug_New代表新建缺陷的时候执行的脚本,Bug_Fields("BG_DETECTION_VERSION")具体缺陷字段。这是最简单的工作流脚本了。你明白了没有?