标题: TestDirector脚本编程实践 [打印本页] 作者: qiguojie 时间: 2009-11-20 16:46 标题: TestDirector脚本编程实践 TestDirector脚本编程实践
qiguojie原创文章,转载请注出处,谢谢!
TestDirector脚本可以做很多编程,给我们的工作带来便利,实现起来也非常的简单,下面来列举一些实例给大家参考。 1、增加缺陷描述模板
缺陷描述中是一个大的文本框,我们通常要添加一些项进去,比如说所在模块、重现率、重现步骤、数据库地址、后台错误信息等内容(举例),那么如何做呢,很简单,看我同事写的下面代码:
Sub AddDefects_SetDefaultValues '自定义函数,修改缺陷字段【DESCRIPTION】的值,也就是修改描述的值
Bug_Fields("BG_DESCRIPTION").Value ="测试系统:"&Chr(13)&Chr(10)&"测试机构:"&Chr(13)&Chr(10)&"测试数据库:" '这里是拼接的字符串,中间是换行和回车
End Sub
Sub Defects_Bug_New 'bug创建时
AddDefects_SetDefaultValues 'Add by LvShijuan '调用上面的函数
End Sub
2、msgbox
消息提示函数msgbox,可以在处理某些操作前,或者修改后弹出提示,提示信息可自定义,这样可以指导新手操作,明确一些注意事项,请看下面代码:
Function Defects_ActionCanExecute(ActionName)
On Error Resume Next
If User.IsInGroup("Developer") Then
msgbox"烦请优先处理严重性级别大于【4-严重】和优先级大于【3-急】的缺陷,比较重要!!"
End If
On Error GoTo 0
End Function
上述代码保存后,只要是Developer组的用户,在打开缺陷窗口时,会弹出提示:“烦请优先处理严重性级别大于【4-严重】和优先级大于【3-急】的缺陷,比较重要!!”,再看另一段:
Function Defects_ActionCanExecute(ActionName)
On Error Resume Next
If User.UserName = "qiguojie" Then
msgbox"学无止境"
End if
On Error GoTo 0
End Function
上面代码保存后,qiguojie这个用户在打开缺陷窗口时,会弹出消息框:“学无止境”,再看一个列子:
Sub Defects_EnterModule
On Error Resume Next
msgbox "通知:"&Chr(13)&Chr(10)&"1、近期TestDirector所在服务器网络不稳定,请大家在汇报缺陷同时,记录相应bug到文档中。"&Chr(13)&Chr(10)&"qiguojie at 2009-11-20"
On Error GoTo 0
End Sub
这个在进入Defects模块时,就会自动弹出提示了,是不是很有意思呢??
3、设置字段默认值
TestDirector不能像bugzilla似的,选择模块后,就能自动指派给相关开发人员(也许可以,但是我没找到),因此怎么才能实现呢,其实很简单,自己写个对应关系就行了,例子如下:
Sub NameAndMoudle(Moudle) '自定义函数,判断不同的传入参数值,自动设置【指派给】字段的值
Select Case Moudle 'Case选择
Case "LoadRunner"
Bug_Fields("BG_RESPONSIBLE").Value = "ZEE" '开个玩笑哈,如果传入的模块是LoadRunner,那么自动将问题指派给ZEE(借用一下)
Case "QTP"
Bug_Fields("BG_RESPONSIBLE").Value = "陈能技"
Case "TD"
Bug_Fields("BG_RESPONSIBLE").Value = "peterz"
End Select
End Sub
Function Defects_Bug_FieldCanChange(FieldName, NewValue) '字段可以修改时
On Error Resume Next
If FieldName = "BG_EDTECTION_VERSION" Then '如果修改的字段是【所在版本】(这里是举例,也可以判断自定义模块)
NameAndMoudle(NewValue) '调用函数,根据修改后的值【NewValue】,修改【指派给】字段的值
End If
On Error GoTo 0
End Function
这段代码不是很复杂,我们公司的TD里我也写了好多差不多的。
好了,今天比较闲,就写这些吧,欢迎大家讨论,以后有时间再说。作者: cheryl 时间: 2009-11-21 20:51
很好。
问一下楼主是否可以重新定义现有选择列表的选择项目。
例如:对于用户列表进行过滤,只显示开发人员。作者: cheryl 时间: 2009-11-23 13:14
版主还没有回复啊!作者: qiguojie 时间: 2009-11-23 16:55
sorry,不是这个版的版主哈,今天公司事情多,还没看哈。
LIST好像只能赋值一个值,是默认显示的,而且还没找到列表显示的方法。到HP的社区搜索了下,也没有找到解决方案,明天找时间再研究下作者: cheryl 时间: 2010-1-1 17:29
恩,很难。再给楼主打打气。作者: uqiu 时间: 2010-1-25 13:07
Sub WizardListCust
' This subroutine had been automatically generated by "Script Generator - List Customization".
' Any modification you make will be overwritten next time you use the generator.
' BEGIN: When primary 姓名 value is changed, 角色's selection list will change.
Select Case Bug_Fields("BG_DETECTED_BY").Value
Case "admin"
Bug_Fields("BG_USER_08").List = Lists("YesNo")
End Select
' END: When primary 姓名 value is changed, 角色's selection list will change.