沅芷湘兰 发表于 2013-8-27 13:33:49

SilkTest系列---中级篇(.NET Script)之表格处理

最近因为个人原因,有好几天没有发帖了,在这里深表歉意!同时有位坛友有问到过关于表格处理的问题,那我们今天就一起来探讨一下在SilkTest里是如何处理表格的,当然我在这里只是抛砖引玉,表格里面还可以有很多的操作,比如说:链接点击,单选框的点击,复选框的点击,文本框的输入等。
今天我们主要是根据表格来取出对应的文本值,并且点击链接。直接进入主题,下面附上代码:
Imports SilkTest.Ntf.XBrowser
Public Module Main
        Dim _desktop As Desktop = Agent.Desktop

        Public Sub Main()
                With _desktop.BrowserApplication("WebBrowser3")
                        .SetActive()
                        With .BrowserWindow("BrowserWindow")
                                .Navigate("http://bbs.51testing.com/forum-127-1.html")
                                '定义一个DomTable参数
                                Dim testTable As DomTable
                                '找到"//TABLE[@class='datatable']"的表格
                                testTable = .DomTable("//TABLE[@class='datatable']")
                                Dim testTableRows As Int32
                                Dim testTableColumns As Int32
                                Dim currentRow As Int32
                                Dim cellText As String
                                '取得表格的所有行数
                                testTableRows = testTable.GetRowCount()
                                System.Console.WriteLine(testTableRows)
                                '取得表格的所有列数
                                testTableColumns = testTable.GetColumnCount()
                                System.Console.WriteLine(testTableColumns)
                                For currentRow = 0 To testTableRows-1 Step 1
                                        '取得表格的Cell(每一行的第3列)的文本值
                                        cellText = testTable.GetCellText(currentRow,3)
                                        System.Console.WriteLine(cellText)
                                        '判断值等于“***”,然后点击
                                        If cellText Like "*关于Micro Focus系列工具软件*" Then
                                                Dim link As DomLink
                                                link = testTable.Find("//A[@textContents='关于Micro Focus系列工具软件下*']")
                                                '点击链接
                                                link.Click()
                                                '退出for循环
                                                Exit For
                                        End If
                                Next currentRow
                        End With
                End With
               
        End Sub
End Module

整个测试过程已经完成,主要需要用到对象探测器来探测对象属性,如Table的名称“//TABLE[@class='datatable']”和链接的名称“//A[@textContents='关于Micro Focus系列工具软件下*']”,下面还是上个图大家鉴定一下:

最后感谢该坛友为我提出这个宝贵的主题,这两天也正在为主题的事情头痛,同时也请其它的坛友提出宝贵意见,当然也包括主题!

zhenxiong25 发表于 2013-8-27 14:28:13

:loveliness:{:4_90:}速度跟上

沅芷湘兰 发表于 2013-8-27 17:05:02

欢迎大家再提出宝贵的意见,同时也可以提出大家在使用过程中出现的问题,困惑,想了解的话题,目前不能实现的技术等,像上次就有人提出了Flash的事情等,现在也有坛友站出来并发帖说明Flash如何使用的

yong_sun 发表于 2014-3-4 22:53:24

这个操作excel的复杂度相比按键精灵大太多了

kakawon 发表于 2017-12-19 14:23:07

你这个脚本写的有问题啊,testTableRows = testTable.GetRowCount()这个GetRowCount()方法是怎么获取的?
页: [1]
查看完整版本: SilkTest系列---中级篇(.NET Script)之表格处理