TA的每日心情 | 奋斗 2015-6-25 18:04 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
TestDirector缺陷汇报处理UI设计和必填项设置
qiguojie原创文章,转载请注出处,谢谢!
还是接着上一篇文章来说,设置完流程,TestDirector就可以使用了哈;不知道大家有没有发现一个问题,如果自定义字段过多,加上原来的系统字段,这个时候汇报defects时,至少要填写20项+的内容,非常的繁琐,我认为会影响我们的工作效率,因此我们还需要对系统进行其他的配置:
>>设置必填项
>>对所有字段显示进行排序
>>隐藏用不到的非必填项
>>分页显示所有选项
以上这些设置在TD中,都有设置的地方,这里我主要通过修改TD的脚本,来实现这些功能。下面是修改脚本以及逐一实现上述配置的方法:
1、进入TestDirector的脚本配置
在start_a.htm页面,进入右上角的自定义标签(我的是汉化了),输入管理员账号和密码进入自定义页面。
选择最后一项【Set Up Workflow】,在打开页面选择最后一项,脚本编辑器。这样就成功进入了脚本编译功能了,可以看到左边列表中有6项可以配置的,分别是Common script(通用设置脚本)、Requirements Module script(需求模块脚本)、Test Plan module script(测试计划模块脚本)、Test Lab module script(测试实验室模块脚本)、Manual Runner script(自动化测试设置脚本)、Defects module script(缺陷模块设置脚本),我们主要是配置最后一个。
2、找到设置的事件所在
通常我们在添加缺陷(New Defect)和查看列表已报的缺陷时,会打开缺陷添加或详细信息窗口,因此,我们要找到这2个操作响应的事件,然后在事件里填加我们要控制的脚本代码即可。不过我没有在网上找到TestDirector的脚本说明,只好建了一个测试项目挨个试,比较笨哈。新建bug窗口和打开bug窗口的事件为:Defects_Bug_New和Defects_ActionCanExecute
3、Bug_Fields的几个属性配置
TestDirector中,缺陷字段的对象是Bug_Fields,这个对象有几个属性我们会用到,主要有:
Bug_Fields(FieldName).IsVisible 【控制字段是否显示和隐藏,布尔类型值,True表示显示,false表示不显示】
Bug_Fields(FieldName).IsRequired 【控制字段是否是必填项,布尔类型值,True表示必填,false表示非必填】
Bug_Fields(FieldName).PageNo 【控制字段所在选项卡分页,整数,可选0、1、2,多了也没用,3个选项卡肯定够了】
Bug_Fields(FieldName).ViewOrder 【控制字段显示排序,整数,随便设置,按照从小到大会在页面上顺序排列字段位置】
举例:我们要设置缺陷的严重性为显示在page2的第一列,并且必填,那么我们需要设置为:
Bug_Fields("BG_SEVERITY").IsVisible=True
Bug_Fields("BG_SEVERITY").IsRequired=True
Bug_Fields("BG_SEVERITY").PageNo=2
Bug_Fields("BG_SEVERITY").ViewOrder=0
这样就可以随心所欲的设置我们的bug汇报页面和查看页面了,只要将上述代码复制到Defects_Bug_New和Defects_ActionCanExecute下面即可。
Sub Defects_Bug_New
Bug_Fields("BG_SEVERITY").IsVisible=True
Bug_Fields("BG_SEVERITY").IsRequired=True
Bug_Fields("BG_SEVERITY").PageNo=2
Bug_Fields("BG_SEVERITY").ViewOrder=0
End Sub
这样每个每个字段设置较为麻烦,实际上TestDirector本身的脚本通过2个函数设置就比较清晰了。我们来看看TestDirector的自动生成的代码(自动生成是在Set Up Workflow页面的其他项中,点击一下应用并查看即可):
Sub SetFieldApp( FieldName, Vis, Req, PNo, VOrder ) '设置字段属性函数,有5个参数,依次为字段名称、是否显示、是否必填、所在分页和排序
'Sets a field's appearance
With Bug_Fields(FieldName) '获得参数值,设置下面4个属性值
.IsVisible = Vis
.IsRequired = Req
.PageNo = PNo
.ViewOrder = VOrder
End With
End Sub
Sub WizardFieldCust_Add '这里我只留下测试组的设置,TD自动会生成所有用户组的设置文件哈
ElseIf User.IsInGroup("测试组") Then '这里判断了一下所在用户组,如果执行这个操作的用户在测试组,就执行下面的代码
SetFieldApp "BG_ACTUAL_FIX_TIME", True, False, 0, 0 '这里调用了上面的函数SetFieldApp(),传递了5个参数过去,分别对应字段名称、是否显示、是否必填、所在分页和排序
SetFieldApp "BG_BUG_ID", True, False, 0, 1
SetFieldApp "BG_CLOSING_DATE", True, False, 0, 2
SetFieldApp "BG_CLOSING_VERSION", True, False, 0, 3
SetFieldApp "BG_DESCRIPTION", True, False, 0, 4
SetFieldApp "BG_DETECTED_BY", True, True, 0, 5
SetFieldApp "BG_DETECTION_DATE", True, True, 0, 6
SetFieldApp "BG_DETECTION_VERSION", True, False, 0, 7
SetFieldApp "BG_DEV_COMMENTS", True, False, 0, 8
SetFieldApp "BG_ESTIMATED_FIX_TIME", True, False, 0, 9
SetFieldApp "BG_PLANNED_CLOSING_VER", True, False, 0, 10
SetFieldApp "BG_PRIORITY", True, False, 0, 11
SetFieldApp "BG_PROJECT", True, False, 0, 12
SetFieldApp "BG_REPRODUCIBLE", True, False, 0, 13
SetFieldApp "BG_RESPONSIBLE", True, False, 0, 14
SetFieldApp "BG_SEVERITY", True, True, 0, 15
SetFieldApp "BG_STATUS", True, False, 0, 16
SetFieldApp "BG_SUBJECT", True, False, 0, 17
SetFieldApp "BG_SUMMARY", True, True, 0, 18
SetFieldApp "BG_VTS", True, False, 0, 19
End If
End Sub
4、保存配置结果
在脚本修改后,记得在编辑器上点击保存按钮,将脚本保存。然后退出重新登录系统,即可看到效果了。 |
|