51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3607|回复: 4
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-8-27 13:33:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近因为个人原因,有好几天没有发帖了,在这里深表歉意!同时有位坛友有问到过关于表格处理的问题,那我们今天就一起来探讨一下在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系列工具软件下*']”,下面还是上个图大家鉴定一下:

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2013-8-27 14:28:13 | 只看该作者
速度跟上
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2013-8-27 17:05:02 | 只看该作者
欢迎大家再提出宝贵的意见,同时也可以提出大家在使用过程中出现的问题,困惑,想了解的话题,目前不能实现的技术等,像上次就有人提出了Flash的事情等,现在也有坛友站出来并发帖说明Flash如何使用的
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2015-8-17 17:23
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2014-3-4 22:53:24 | 只看该作者
    这个操作excel的复杂度相比按键精灵大太多了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2017-12-19 14:23:07 | 只看该作者
    你这个脚本写的有问题啊,testTableRows = testTable.GetRowCount()这个GetRowCount()方法是怎么获取的?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-13 15:42 , Processed in 0.076799 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表