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

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

 (1)新建缺陷时候的默认值51Testing软件测试网T6` lY-HnbT\

  需求说明:打开添加缺陷的页面的时候(特别是使用了自定义字段的时候)我们最希望的就是给这些不是非常重要的,但是又不希望没有内容的字段有些默认值。请先看代码。51Testing软件测试网bc+n*b0c$N#O*ou

Sub Defects_Bug_New51Testing软件测试网 n%w&B)J#L1H(T5[[
On Error Resume Next51Testing软件测试网op$A9^#[n^ve W
Bug_Fields("BG_DETECTION_VERSION").Value = "Ehome 2.0"51Testing软件测试网q.D#?s c#I:U
On Error GoTo 0
b VXn.D%ggI&R.Y0End Sub
51Testing软件测试网N Vo)Z)FyQ7T

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

2sHqdK,?R-~0

m2Dv,acx3u-i x0  (2)记录修改人和修改时间51Testing软件测试网2h~ VO,gI7W'{Xh

WjkX.pd,k0  需求说明:开发修改了一个缺陷的状态为“修改完成“的时候,记录下修改他的人,和修改时间。方便我们管理。同样,请先看代码:51Testing软件测试网8eKm6H}

Sub Defects_Bug_FieldChange(FieldName)51Testing软件测试网K"_,w{'T)l-k!tf.uG
    On Error Resume Next51Testing软件测试网4`9tav#^WV
        if FieldName = "BG_STATUS" Then
I'i-? yn0            if Bug_Fields("BG_STATUS").Value = "P1-修改完成待验证" then
yK_p_A}*G0                Bug_Fields("BG_RESPONSIBLE").Value = User.UserName
{ nz{0D$N0                Bug_Fields("BG_USER_02").Value = now()51Testing软件测试网)@Ztivs
            end if51Testing软件测试网.t#F@Y#_
        end if
c@ n-B g0    On Error GoTo 051Testing软件测试网#R/A@D{.@:bD
 End Sub
51Testing软件测试网)s O `5e!S*T az

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

xt CS v-N-U0

A;O%L1Pm:E T.]xEym0  (3)暂不修改缺陷时必须说理由51Testing软件测试网*cfq1aUA#F&}

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

i/?,beQEh$w0Sub Defects_Bug_FieldChange(FieldName)51Testing软件测试网Pg3S\D7|6H i
        On Error Resume Next
51Testing软件测试网 JYZBA&`

51Testing软件测试网7VR w ^ |`a

        dim i51Testing软件测试网3f {2VBr;k A
        i=""51Testing软件测试网x!L5F9^nt,zc+{2e7q
        msg1 ="遗留或暂不修改此缺陷需要输入理由!"
e#G1b+m lH3j HT0        title1 ="输入理由"
51Testing软件测试网!r8d0Mg M!CQ;D z2\

O'iKX ny0         If FieldName = "BG_STATUS" Then51Testing软件测试网xulH9i}
 if (Bug_Fields("BG_STATUS").Value = "待遗留" or Bug_Fields("BG_STATUS").Value = "暂不修改") and Bug_Fields("BG_DEV_COMMENTS").Value = "" then51Testing软件测试网3ig;c$hQ{y*v
                 do
u_M1gj]0                   i= InputBox(msg1,title1)51Testing软件测试网J#X_ZT;}N(w x
                   if i="" then51Testing软件测试网,i'B DUJG*G-QO
                      msgbox"必须输入理由!"51Testing软件测试网+V |pX@j#wA N
                   else exit do51Testing软件测试网B~(Z!l,Ly8z+w
                   end if
O-b ZI)A%GP S0                 loop
"X+Lv4a;]y0                 Bug_Fields("BG_DEV_COMMENTS").Value = i
\2fY!y&F`0              end if51Testing软件测试网4p(b/FtA9U
          end if51Testing软件测试网6Yb&@~ x qo
        On Error GoTo 0
xg;k#|w(~L f h0    End Sub

6J9AV"w2Bz0
51Testing软件测试网$J*j.l)E3M5D

  简单的说下思路吧,只要你看懂了上面的工作流,相信这个里面的代码也不是很复杂。51Testing软件测试网{)IX2V-h2c2]K7F

51Testing软件测试网v{2uM f4E

  ① 开始声明和定义一些需要使用的变量和内容51Testing软件测试网-j.{?3SO5U5q{

51Testing软件测试网R+u Xt^n9M-E

  ② 判断修改的字段是不是缺陷状态(BG_STATUS)

pzPX.CKr ^;A0

r1Kg)`2^(NG0  ③ 再判断修改成的内容是不是遗留或者不修改51Testing软件测试网}/rJi1E}6|%HKM

f\-V xM0  ④ 最后判断理由(BG_DEV_COMMENTS)里面是不是没有内容

!vzO,O:v4Y#p0a051Testing软件测试网t,d3` P'Ro]P

  ⑤ 如果是的话,就打开输入函数输入理由(InputBox(msg1,title1))51Testing软件测试网 ?/R ` P,v{D6Zs-X

51Testing软件测试网ZYc.z4nm m?1E

  ⑥ 如果没有输入说理由,就提示必须输入理由(msgbox"必须输入理由!")51Testing软件测试网7u3s/@,vsj

jh"dOxa;u7d0  ⑦ 最后把输入的内容赋值给保存理由的字段(BG_DEV_COMMENTS)51Testing软件测试网1i3X0h`+Gqt


TAG:

 

评分:0

我来说两句

Open Toolbar