如何检查列中是否已完全删除列?

时间:2014-04-24 22:00:54

标签: vbscript qtp

如何使用VB脚本检查网表中是否已完全删除列?

我在网表中创建了一行并将其删除。我想检查该列是否已从该网表中删除。我写了一个脚本,并且很难写出逻辑。我可以从网表中获得完整的行数,并可以逐个循环。但是如何检查该列是否已从webtab中删除?

rowCount = SwfWindow(obj).SwfTable(tbl).RowCount 
For i = 0 To rowCount - 1 
    names = SwfWindow(obj).SwfTable(tbl).GetCellData(i, 1)       
    If  names = mycolname  'mycolname is the name of the column deleted  Then
        SwfWindow(obj).SwfTable(tbl).ClickCell i,1  
        Print "col name is present in the table"
        Exit for
    else
        Print "col name is deleted completely from the table"   
    End If
Next

2 个答案:

答案 0 :(得分:0)

您想如何识别列?可能是名字。 (问题中显示的代码按数字索引索引。)

然后取决于网表的结构:

有一个WebTable运行时属性,返回由分号分隔的字符串中所有列的名称; 遍历此字符串的组件并在循环中查询它们的名称。如果在流程中找到要删除的列,它仍然存在,如果没有,则删除。

有关示例,请参阅http://www.sqaforums.com/forums/hp-unified-functional-testing-uft-mercury-quicktest-pro-qtp/148239-qtp-function-web-table-get-column-number-giving-column-name.html

有时,表的组织方式有所不同,getROProperty调用会返回垃圾。然后,您通常会在第1行中找到列名称作为单元格数据。在那里,您需要遍历并使用getCellData查看列名称。

答案 1 :(得分:0)

正如@TheBlastOne所指出的那样,你在AUT(被测试的应用程序)中看到的表并不一定能说明它是如何实际构建的。以下是一个巧妙的技巧,它应该适用于WebTable和swfTable,以便能够看到表的实际结构:

  1. 当您同时打开AUT和QTP时,请单击"记录" QTP中的按钮
  2. 选择在打开的应用程序上开始录制
  3. 在QTP的工具栏菜单上,选择"插入" - > "检查点" - > "标准检查点"然后单击AUT
  4. 中的表格

    现在应该打开一个新窗口,除其他外,它会向您显示表格的确切结构,即行索引和/或名称,列索引和/或名称等。