QC工作流中的部分脚本修改

上一篇 / 下一篇  2012-06-18 09:18:58 / 个人分类:杂谈

 (1)新建缺陷时候的默认值

m o`2A M*^D%F0  需求说明:打开添加缺陷的页面的时候(特别是使用了自定义字段的时候)我们最希望的就是给这些不是非常重要的,但是又不希望没有内容的字段有些默认值。请先看代码。51Testing软件测试网2j~ ib}g1^ lz5D

Sub Defects_Bug_New
o\i \n wO6@0On Error Resume Next
%Ep9`6{akZ0Bug_Fields("BG_DETECTION_VERSION").Value = "Ehome 2.0"
!?R`#w5D0On Error GoTo 0
i \ Ly._D*Va^0End Sub

!aV6C]mm y,T0  这段代码,你只要复制到工作流 脚本中去,哪么你在添加缺陷的时候,版本这个字段里面就会自动有一个内容Ehome 2.0。这段代码中的Defects_Bug_New代表新建缺陷的时候执行的脚 本,Bug_Fields("BG_DETECTION_VERSION")具体缺陷字段。这是最简单的工作流脚本。

;KU/P$h5m0

\ U't.A(et `0  (2)记录修改人和修改时间

'O9vYG5m}p051Testing软件测试网wd,Z O8h-bf2u

  需求说明:开发修改了一个缺陷的状态为“修改完成“的时候,记录下修改他的人,和修改时间。方便我们管理。同样,请先看代码:

L_ b,b?0
Sub Defects_Bug_FieldChange(FieldName)51Testing软件测试网~0MSi SVZ0\
    On Error Resume Next51Testing软件测试网-g/l vIv$jp
        if FieldName = "BG_STATUS" Then51Testing软件测试网7dy ca$F
            if Bug_Fields("BG_STATUS").Value = "P1-修改完成待验证" then51Testing软件测试网p+N~9q5b5S{wNZN
                Bug_Fields("BG_RESPONSIBLE").Value = User.UserName
c1P[6T;[7l'b:F0                Bug_Fields("BG_USER_02").Value = now()
8h:OY'I GO0            end if51Testing软件测试网(GjXC k~4v,l
        end if51Testing软件测试网+p3?*YQn,r
    On Error GoTo 051Testing软件测试网o-j)BN:VwA aA
 End Sub

t,nzJ[neay ^&M0   这段代码内容就多了几行,里面的Defects_Bug_FieldChange(FieldName)代表的是缺陷字段发生改变的时候执行的语句。 BG_STATUS代表缺陷状态,BG_RESPONSIBLE代表负责人(Syestem Fields表里的),BG_USER_02代表用户自定义字段(User Fields表里的)。User.UserName代表当前操作的用户名,now()代表当前时间。

.K7i%B8y'{!Q0

?D:R(} q$p0  (3)暂不修改缺陷时必须说理由

L;_&F7qI:u051Testing软件测试网0q"}Q^ I

  需求说明:有时候开发很懒,不喜欢写理由,哪么对我们测试来说,没有任何说明就返回我们。使我们不好处理问题。哪么我们希望当程序员如果修改缺陷状态为”暂不修改”或”遗留”的时候,让开发人员必须输入理由。51Testing软件测试网KRi7k-YU

,EJ@|j Q2}^0Sub Defects_Bug_FieldChange(FieldName)
S,oZ#}5Cu8Isy*A:M0        On Error Resume Next

Tz}I;aG1R0

qw-z(jRD!Jk*X0        dim i
)vb Jv E$B5`0        i=""
l ?L G"I0        msg1 ="遗留或暂不修改此缺陷需要输入理由!"51Testing软件测试网u8U(cBIL3K0Ag K
        title1 ="输入理由"

)p;X*E`&M'L ^5On0

Id5U3o(MU9J%bv;ag0         If FieldName = "BG_STATUS" Then
;V3YD(sa,],l7Ii:p0 if (Bug_Fields("BG_STATUS").Value = "待遗留" or Bug_Fields("BG_STATUS").Value = "暂不修改") and Bug_Fields("BG_DEV_COMMENTS").Value = "" then51Testing软件测试网LHyS\:\T
                 do
?N:?&v&R%e5D0                   i= InputBox(msg1,title1)51Testing软件测试网NZ;]!S+F OT/r
                   if i="" then51Testing软件测试网*g;?6w]0]
                      msgbox"必须输入理由!"
:WiX`tv2h.m*u0                   else exit do51Testing软件测试网"p~6z#r Ro V f
                   end if
Y%z S},L \'{4A-]0                 loop51Testing软件测试网lN,P3wOn]@z
                 Bug_Fields("BG_DEV_COMMENTS").Value = i
c3`^y@)e0              end if
I)gx6}+y-G_0w N3t0          end if
A)Ai_ YJ.F D|0        On Error GoTo 0
c3Vv{/ly,i0    End Sub

O!E?1`6MnP,ld/w0

@x+jR,tkD7n` @0  简单的说下思路吧,只要你看懂了上面的工作流,相信这个里面的代码也不是很复杂。51Testing软件测试网m Z WX{_

E1Bi tH/G[0  ① 开始声明和定义一些需要使用的变量和内容51Testing软件测试网!K`*?Z7W;lE4_~

#oJ8l0{2NOoW^0  ② 判断修改的字段是不是缺陷状态(BG_STATUS)

#H z e]VS051Testing软件测试网\e,GlBrr D

  ③ 再判断修改成的内容是不是遗留或者不修改

6e6dX3D.a0

B(gdN8r(i)VK+u {0  ④ 最后判断理由(BG_DEV_COMMENTS)里面是不是没有内容

;@s'V!wQ.?)SNG T051Testing软件测试网`d!TA0V1G#D

  ⑤ 如果是的话,就打开输入函数输入理由(InputBox(msg1,title1))

U_&n l9yZ;gl [6iF051Testing软件测试网x!C&M%nE tJ,PT*~

  ⑥ 如果没有输入说理由,就提示必须输入理由(msgbox"必须输入理由!")

&I0a6SeC"W vae051Testing软件测试网,v$e,p }bX~2p

  ⑦ 最后把输入的内容赋值给保存理由的字段(BG_DEV_COMMENTS)

&Y ? { eQ0

TAG:

 

评分:0

我来说两句

Open Toolbar