教材示例实践之三

第五个示例要求如下:

WebList & WebRadioGroup

 

前提条件:用户已经登录51testing网站并进入“个人中心”,然后点击“论坛个性化设定”链接,进入下面的页面。

         

 

详细要求:

1. 【界面风格】:选择<discuz6>,再重新选回<使用默认>

2. 【每页主题数】:选择“每页30个主题”

  【每页贴数】:选择“每页15贴”

  【签名显示设置】:选择“显示签名”

  【头像显示设置】:选择“不显示头像”

3. 【时差设定】:选择<(GMT +08:00) Beijing, Hong Kong, Perth, Singapore, Taipe>,然后随机选择一个,再做验证

 

最后的成品代码如下:

with Browser("51Testing软件测试论坛").Page("51Testing软件测试论坛")

   'WebList的使用:所见即所得
    DataTable.Value("界面风格",Global)  =  "discuz6"      '使用了DataTable
    tValue1 = DataTable.Value("界面风格",Global)  
    .WebList("界面风格").Select tValue1    'QTP封装好的方法

    'for check our result1
    check1 =Trim( .WebList("界面风格").GetROProperty("selection"))

    DataTable.Value("界面风格",Global)  =  "使用默认"
    tValue2 = DataTable.Value("界面风格",Global)  
    .WebList("界面风格").Select tValue2

    'for check our result2
    check2 =Trim( .WebList("界面风格").GetROProperty("selection"))

    If  check1 = "discuz6" and check2 = "使用默认" Then
        reporter.ReportEvent micPass,"Step1:weblist","Passed"
    else
        reporter.ReportEvent micFail,"Step1","Failed"
    End If

    'WebRadioGroup的使用
     .WebRadioGroup("每页主题数").Select "30"                       '注解1
     .WebRadioGroup("每页贴数").Select "15"
     .WebRadioGroup("签名显示设置").Select "1"
     .WebRadioGroup("头像显示设置").Select "0"

    reporter.ReportEvent micDone, "step 2 : webradiogroup","done"

    '从很多个选项中选择一个
    dim expectRes
    expectRes = "(GMT +08:00) Beijing, Hong Kong, Perth, Singapore, Taipei"
     .WebList("时差设定").Object.selectedIndex = "27"                  '注解2  
     actualRes =  .WebList("时差设定").GetROProperty("selection")

    If actualRes = expectRes Then
        reporter.ReportEvent micPass,"Step3","Passed"
    else
        reporter.ReportEvent micFail,"Step3","Failed"
    End If

    '随机选择
    itemCount =  .WebList("时差设定").GetROProperty("items count")                   '注解3
    tValue3 = RandomNumber(0,itemCount - 1)                 'QTP保留的随机方法
    .WebList("时差设定").Object.selectedIndex = tValue3
    '验证
    selectedRes =  .WebList("时差设定").GetROProperty("selection")
    msgbox selectedRes

end with

 

解释几点:

 1. 注解1   这里看着奇怪,为什么有时候是选项名,有时候是序号呢?一般情况下WebList对象的选项是所见即说得的,就是说写脚本的时候,WebList的参数直接填下拉框里的内容就可以了。但是WebRadioGroup就不是了。它的参数究竟要填内容还是序号呢?这个我们就要依靠Spy这个工具了。

【每页主题数】       【签名显示设置】

仔细观察all items一项,我们就可以判断出,它的值就是对应所有选项了。所以我们选择每页主题数为30时,填的参数是“30”,而签名显示设置的参数是0。

2. 注解2  使用自身接口+Index的组合一样可以对WebList对象操作,这样不必把Item的值写死

3. 注解3  使用运行时方法可以获取WebList总共有多少个选项,怎么知道是哪个属性?再用Spy来看看吧:

                           

可见”items count“属性记录了WebList下有几个选项

 

第六个示例要求如下:

WebTable

前提条件:登陆51testing网站,点击“我的个人空间”链接,进去后点“空间管理”,点“日志”的私人箱,进入如下界面:

详细要求:

1. 计算当前WebTable对象的行与列

2. 搜索以下3个文章:

  (1)测试3

  (2)测试2

  (3)测试1

  找到文章后,勾选它们左侧的勾选框,将“测试3”这篇文章的发布时间写入测试报告

 

最后的成品代码如下:

 

With Browser("个人空间管理").Page("个人空间管理")
    tRow = .WebTable("标题").RowCount  

    For cRow = 0 to tRow-1
        cellData = .WebTable("标题").GetCellData(cRow+1,2)     '注解1
        'msgbox cellData
        For  i = 1 to 3
            Select Case i
            Case 1
                search1 = "测试1"
                return = instr(cellData,search1)               '注解2
                If return <> 0 Then
                    Set oWebCheckBox = .WebTable("标题").ChildItem(cRow+1,1,"WebCheckBox",0)      '注解3
                    oWebCheckBox.set "on"
                    Set oWebCheckBox = nothing
                    Exit for
                End If

            Case 2
                search1 = "测试2"
                return = instr(cellData,search1)
                If return <> 0 Then
                    Set oWebCheckBox = .WebTable("标题").ChildItem(cRow+1,1,"WebCheckBox",0)
                    oWebCheckBox.set "on"
                    Set oWebCheckBox = nothing
                    Exit for
                End If

            Case 3
                search1 = "测试3"
                return = instr(cellData,search1)
                If return <> 0 Then
                    Set oWebCheckBox = .WebTable("标题").ChildItem(cRow+1,1,"WebCheckBox",0)
                    oWebCheckBox.set "on"
                    Set oWebCheckBox = nothing
                    tDate = .WebTable("标题").GetCellData(cRow+1,3)
                    reporter.ReportEvent micPass,"date","""测试3"" 这篇文章发表于:<"&tDate&">"   '注意把变量值嵌入文本的语法
                    Exit for
                End If
            End Select

        Next
    Next

End With

 

 

解释几点:

1. 注解1  cellData方法是WebTable对象的一个重点方法,作用是获取指定单元格(行,列)的值。

  语法是:Object<WebTable>.GetCellData(Row,Column)

    Row是必填项,表格的行号;Column也是必填项,表格的列号。

  至于这里的列号是多少怎么判断,你用这个方法获取它,然后msgbox一下就知道了。

2. 注解2  Instr作用:将search字符串与cellData中的某个下标位置(默认是1)开始一一匹配,匹配到1个就返回1,匹配到2个就返回2...

3. 注解3  ChildItem方法是WebTable对象的另一个重点方法。它可以获取WebTable里的某个子对象。

  语法是:Object<WebTable>.ChildItem(Row,Column,MicClass,Index)

  其中MicClass是必填项,对象控件的类名,如List,WebButton,WebEdit等等,要虚拟成什么对象就填什么。Index填0就可以了。

 

转载于:https://www.cnblogs.com/bangbangjiang/p/3892432.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值