1.脚本片段
这里应该是大家很期待的部分了。CQ功能的强大,就体现在这里。这里我也只明白了一小部分,更多的功能,等待大家的挖掘。
代码并不是万能的,一些代码,只对使用客户端的用户有效,对用Web端提交错误的用户就不好使了。
首先来看一个标准的脚本片段:
1 Sub tjsj_DefaultValue(fieldname)
2 ' fieldname As String
3 ' record type name is Defect
4 ' field name is 提交时间
5 REM Set the initial value of the field here. Example:
6 REM SetFieldValue fieldname, 12345
7 SetFieldValue "提交时间", time
8 End Sub
上面是一个标准的CQ中使用的子函数。
灰颜色:表示系统自动生成的代码,不可修改。
暗绿色:表示注释。在CQ中,以“REM+空格”或“’+空格”开头的都表示是注释,注释内容不运行
黑色:表示手工填写的代码。
紫色:为了方便说明加上的序号。在代码中紫色序号是不存在的。
分析:第1行说明此为一个basic子过程,tjsj_DefaultValue是过程名。过程名前面的tjsj是“提交时间”字段的数据库列名,代表此函数是提交时间字段的脚本;后面的Defultvalue是字段列表中列的名称,也可以说是字段的属性。
第2-4行是自动给出的关于此过程的定义说明。
第5-6行是CQ中关于此字段属性的说明。有的说明中会有代码示例,可以参照代码示例进行脚本的编写。
第7行就是自己所编写的脚本。具体编程代码,可以参照VB的一些相关文档,或者是Rational关于编程方面的资料。
第8行表示过程结束。
除了在Field和Actions可以编写脚本外,在Record Scripts中也可以编写自己的函数,这部分我没有使用过,不知道应该如何使用。
如果有时间,可以看看Global Script中的脚本,对理解CQ中自动给出的一些功能会有更深的体会。
在Actions中编写代码后,千万不要忘记了在Behaviors中相应的地方设置为USE_HOOK,否则编写是不会有效果的。
下面的是一些常用的指令:
1.SetFieldValue fildname, value
这个恐怕是最常用的了。就是赋值函数。Filename就是字段名(中文使用””号括起来就可以了),value就是赋予此字段的值。
代码示例:取当前系统时间,赋予提交时间字段。
SetFieldValue "提交时间", time
2.GetFieldValue(fildname).GetValue()
取fildname字段的值
GetFieldValue("模块").GetValue()代表把模块的值取出来。
代码示例:判断选择的模块名,给予不同的程序员修改(此代码只对使用CQ客户端的用户有效,对用Web提交缺陷的用户无效)
Dim module
Module = GetFieldValue("模块").GetValue() ' 取模块内容
Select case Module ' 下面的内容按照实际情况修改
case "模块1"
SetFieldValue "负责人", "programmer1"
case "模块2"
SetFieldValue "负责人", " programmer2"
case "模块3"
SetFieldValue "负责人", " programmer3"
End Select
3.Getsession,GetUserLoginName
获得登陆用户名
代码示例:把提交人设置为登陆的用户
DIM session
DIM username
set session = GetSession
username = session.GetUserLoginName
SetFieldValue "submmitter",username
4.GetActionType
获得状态名。
这里可能会有一些问题,因为状态命名方式为AD_Action。但是我在配置的时候,Action定义为中文,好像无法在代码中使用,所以这个部分只好放弃了。
我之所以用中文,是因为很多的时候,此程序都是不了解CQ的人在使用,如果使用过多的英文名,会让人看着发晕。所以只要可能,我都进行了相关的汉化。
1. Call 过程
调用过程
可以在Record Scripts中编写自己的函数,之后在其他的地方调用此函数
2.补充说明
1.如果安装的是SQL正版软件,安装过程中,会有一个规则选项,在InstallationGuideClearQuest.pdf第30页中说明了规则的选择。其实,我记得这个按照缺省的选择就可以了,不用修改。
1. Access数据库,应该是可以使用远端连接的,只要放在共享目录中就可以。
3.一定要选择正确的维护库,才可以进入相应的数据库。
4.创建维护库中,可以选择“Create sample database”,这个例子十分的好,里面有方方面面的设置,对于CQ设置来说,很有启发意义。
5.这里为了方便,举例的时候,使用的是TEST计划。实际使用中,应该配置一个缺省的计划,其他计划都从此计划中集成,这样每个使用的计划只要根据需要进行部分的修改就可以了。
6.用户和组,只能添加修改,不能删除,所以添加的时候,一定要小心谨慎。
7.计划修改完毕后,一定不要忘记了Upgrade Database。
8.计划和数据库可以不相关,也就是说,设计计划的时候可以不连接数据库。但是在使用计划的时候,就必须要连接数据库了。
9.最好修改admin的密码,或者干脆删除。设置其他用户为超级管理员。缺省的太简单了,很容易被别人使用破坏。
10.使用中,应该尽量用英文,因为一些地方对中文的支持不是很好。
11.CQ可以和其他Rational产品一起使用,而且其他产品使用的用户都是在CQ Designer中创建的。
12.CQ的帮助系统做的十分好,到处都有帮助按钮,如果遇到不清楚的地方,可以点击“帮助”按钮进行相关的查找。
13.在CQ安装目录中,有一个books目录,英文好的,里面的六个文档都可以看一下,可以更深刻的理解CQ的功能。
14.在每建立一个缺陷库的时候,测试人员不要忘记了在CQ客户端中使用admin建立各种查询和图表,很少有开发人员会去查看帮助文档自己建立查询。
15.使用SQL Server数据库,缺陷记录在800兆以上的时候,可能会出现问题。
16.我曾经碰到过使用的用户组损坏的情况,组内用户在客户端无法进行Action操作。这个时候,新建一个用户组,把原组人员挪到新的用户组就能用了。
17.建议:测试组人员由于是固定的,可以使用一个用户组,赋予所有的计划和数据库权限;每个项目组都单独建立一个用户组,组内用户只有本测试计划的权限,这样权限能清晰些。
18.其他的以后再补充。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/