(1)新建缺陷时候的默认值
需求说明:打开添加缺陷的页面的时候(特别是使用了自定义字段的时候)我们最希望的就是给这些不是非常重要的,但是又不希望没有内容的字段有些默认值。请先看代码。
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")具体缺陷字段。这是最简单的工作流脚本。
(2)记录修改人和修改时间
需求说明:开发修改了一个缺陷的状态为“修改完成“的时候,记录下修改他的人,和修改时间。方便我们管理。同样,请先看代码:
Sub Defects_Bug_FieldChange(FieldName)
On Error Resume Next
if FieldName = "BG_STATUS" Then
if Bug_Fields("BG_STATUS").Value = "P1-修改完成待验证" then
Bug_Fields("BG_RESPONSIBLE").Value = User.UserName
Bug_Fields("BG_USER_02").Value = now()
end if
end if
On Error GoTo 0
End Sub
这段代码内容就多了几行,里面的Defects_Bug_FieldChange(FieldName)代表的是缺陷字段发生改变的时候执行的语句。BG_STATUS代表缺陷状态,BG_RESPONSIBLE代表负责人(Syestem Fields表里的),BG_USER_02代表用户自定义字段(User Fields表里的)。User.UserName代表当前操作的用户名,now()代表当前时间。
(3)暂不修改缺陷时必须说理由
需求说明:有时候开发很懒,不喜欢写理由,哪么对我们测试来说,没有任何说明就返回我们。使我们不好处理问题。哪么我们希望当程序员如果修改缺陷状态为”暂不修改”或”遗留”的时候,让开发人员必须输入理由。
Sub Defects_Bug_FieldChange(FieldName)
On Error Resume Next
dim i
i=""
msg1 ="遗留或暂不修改此缺陷需要输入理由!"
title1 ="输入理由"
If FieldName = "BG_STATUS" Then
if (Bug_Fields("BG_STATUS").Value = "待遗留" or Bug_Fields("BG_STATUS").Value = "暂不修改") and Bug_Fields("BG_DEV_COMMENTS").Value = "" then
do
i= InputBox(msg1,title1)
if i="" then
msgbox"必须输入理由!"
else exit do
end if
loop
Bug_Fields("BG_DEV_COMMENTS").Value = i
end if
end if
On Error GoTo 0
End Sub
简单的说下思路吧,只要你看懂了上面的工作流,相信这个里面的代码也不是很复杂。
① 开始声明和定义一些需要使用的变量和内容
② 判断修改的字段是不是缺陷状态(BG_STATUS)
③ 再判断修改成的内容是不是遗留或者不修改
④ 最后判断理由(BG_DEV_COMMENTS)里面是不是没有内容
⑤ 如果是的话,就打开输入函数输入理由(InputBox(msg1,title1))
⑥ 如果没有输入说理由,就提示必须输入理由(msgbox"必须输入理由!")
⑦ 最后把输入的内容赋值给保存理由的字段(BG_DEV_COMMENTS)