51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3226|回复: 2
打印 上一主题 下一主题

[SilkTest] SilkTest系列---中级篇(.NET Script)之读数据文件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-7-24 13:39:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自动化读取外部数据然后进入测试用例来运行脚本是个永恒的旋律,所以我们每个自动化测试工具都不会逃离和回避这个问题,我们在基础篇中也提到了这个话题,今天再重拾起来,不过在这里我将不再赘述添加数据源的部分,因为这部分是完全一致的,今天我们主要学习怎么在代码中引用数据源的数据。上一次我们新建了一个数据源文件名为“Untitled_7”,同时里面有两列,一列为“inputValue”,一列为“outputValue”,具体结构如下图所示:

其中“inputValue”为我们在百度搜索中输入的查询内容,“outputValue”则为我们在写入文件部分里通过输入框取得的值并写入该文件。
下面我们先通过取得的值“inputValue”并输入搜索框来完成并且的百度搜索测试,代码如下所示:
                                '读取ActiveData里名称为“Untitled_7”里的数据
                                Dim readData As ActiveData = Workbench.LoadActiveData("Untitled_7")
                                Dim readRow As ActiveDataRow
                                Dim inputValue As String
                               
                                '读取每一行的数据
                                For Each readRow In readData
                                        '读取每一行的inputValue的值如:readRow.GetString("inputValue")
                                        inputValue = readRow.GetString("inputValue")
                                        .DomTextField("kw").Click(MouseButton.Left, New Point(146, 17))
                                        'inputValue取得后再赋值
                                        .DomTextField("kw").SetText(inputValue)
                                        '.DomTextField("kw").TypeKeys("51testing")
                                        .DomButton("su").Click(MouseButton.Left, New Point(72, 14))
                                Next
加入此段代码后,成功运行!大家可以手工尝试一下。
附上完整的测试,如下所示:
Imports SilkTest.Ntf.XBrowser
Public Module Main
        Dim _desktop As Desktop = Agent.Desktop
        Dim kwtext As String

        Public Sub Main()
                With _desktop.BrowserApplication("WebBrowser3")
                        .SetActive()
                        With .BrowserWindow("BrowserWindow")
                                .Navigate("http://www.baidu.com/")
                               
                                '读取ActiveData里名称为“Untitled_7”里的数据
                                Dim readData As ActiveData = Workbench.LoadActiveData("Untitled_7")
                                Dim readRow As ActiveDataRow
                                Dim inputValue As String
                               
                                '读取每一行的数据
                                For Each readRow In readData
                                        '读取每一行的inputValue的值如:readRow.GetString("inputValue")
                                        inputValue = readRow.GetString("inputValue")
                                        .DomTextField("kw").Click(MouseButton.Left, New Point(146, 17))
                                        'inputValue取得后再赋值
                                        .DomTextField("kw").SetText(inputValue)
                                        '.DomTextField("kw").TypeKeys("51testing")
                                        .DomButton("su").Click(MouseButton.Left, New Point(72, 14))
                                        'kwtext = .DomTextField("kw").GetProperty("value")
                                        'System.Console.WriteLine(kwtext)
                                Next
                       
                        End With
                End With
               
        End Sub
End Module

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2014-1-27 17:08:40 | 只看该作者
为什么我在Net里面copy你的这句话,报了“Leading '.' or '!' can only appear inside a 'With' statement.”这个问题,求解。
错误定位是:“  .DomTextField("kw").Click(MouseButton.Left, New Point(146, 17))”
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2014-3-4 14:38:19 | 只看该作者
    回复 2# zgyfxsh


        你应该有.开头的语句在 With 语句对之外吧
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 06:33 , Processed in 0.072180 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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