51Testing软件测试论坛

标题: TestDirector缺陷汇报处理UI设计和必填项设置 [打印本页]

作者: qiguojie    时间: 2009-11-19 13:09
标题: TestDirector缺陷汇报处理UI设计和必填项设置
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、保存配置结果
   在脚本修改后,记得在编辑器上点击保存按钮,将脚本保存。然后退出重新登录系统,即可看到效果了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2