(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) dim i If FieldName = "BG_STATUS" Then |
简单的说下思路吧,只要你看懂了上面的工作流,相信这个里面的代码也不是很复杂。
① 开始声明和定义一些需要使用的变量和内容
② 判断修改的字段是不是缺陷状态(BG_STATUS)
③ 再判断修改成的内容是不是遗留或者不修改
④ 最后判断理由(BG_DEV_COMMENTS)里面是不是没有内容
⑤ 如果是的话,就打开输入函数输入理由(InputBox(msg1,title1))
⑥ 如果没有输入说理由,就提示必须输入理由(msgbox"必须输入理由!")
⑦ 最后把输入的内容赋值给保存理由的字段(BG_DEV_COMMENTS)