关于Rational的两段代码

类别:软件工程 点击:0 评论:0 推荐:
1.使用Robot读取Treeview节点内容

使用robot的Inspector,抓取treeview的时候,有contents属性,里面就包含了treeview的节点内容,可惜的是,SQAGetProperty不支持读取contents,所以只能使用其它的方法。我下面的代码读取的是Rational Test Samples中ClassicsC中的treeview内容,并保存到一个文件中。

tempfile="C:\treeview.txt"         
Open tempfile For Output As #1 '生成一个treeview文本
Window SetContext, "Caption=Classics Online", ""  '设置ClassicsC为焦点窗体

result1=SQAGetProperty("Type=TreeView;Name=treMain","Nodes.Count",Size)   '取treeview的数目

for i = 1 to cint(size)
teste = "Nodes(" & cstr(i) & ").Text"                                 '取各个条目的内容
result2=SqaGetProperty("Type=TreeView;Name=treMain", teste,a)
Write #1,a
next i

close #1

2.在ClearQuest中读取特定组的用户

在CQ中,有的时候,需要显示特定的用户,比如指定修改的人员。这样比较好的方法是从特定的组中读取用户。这个我很早就想实现,但一直都没做到。昨天有人给我发短消息,询问一个需要用到此技术的问题。于是我下定决心解决这个问题,用了3个小时,终于明白怎么回事了。CQ的帮助做的实在很烂,在CQ中调试代码也是一样艰辛的过程,好在我终于成功了。

新建一个字段Programmer,在Choice List中选择BASIC编码,在Forms中添加Programmer字段。

在Choice List中编写如下代码:

set adminSession = CreateObject("ClearQuest.AdminSession")
adminSession.Logon "admin", "password", "ss"              '管理员用户名,密码和Maintenance Tool中的Schema名称。

set GroupObj = adminSession.GetGroup("Mygroups")          '取MyGroup组的用户
set UserObj=GroupObj.Users                                
numUsers = UserObj.count

for i=0 to numUsers-1
  set Progammer= UserObj.Item(i)
  ProgammerName = Progammer.Name
  choices.additem ProgammerName
next i

使用同样的方法,可以取到比如所有Group的名字等。

本文地址:http://com.8s8s.com/it/it31471.htm