51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3409|回复: 14
打印 上一主题 下一主题

[求助] 如何判定WebEdit内的Value是否被选中?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-22 15:14:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
代码:
Dim tempObj
set tempObj = Browser("CreationTime:=0").Page("index:=").WebEdit("name:=TextboxUserCode")
tempObj.Object.focus()
tempObj.Object.select()
接下来我想做一个CheckPoint,判断WebEdit内的Value是否已经被选中了。
请大家指导一下,谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2007-12-11 09:51:22 | 只看该作者
没有问题。这段代码我在本机上已经运行通过了。
个人认为这个“Page”在Web描述性语言的测试中并不起什么作用,只是为了QTP能运行通过,我还曾经在只打开一个页面的情况下,写成“Index:=9”,它在运行时也没有出错。
上述观点只是我个人的看法,有什么不对的地方,请大家指正。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2007-12-10 23:10:22 | 只看该作者
    Page("index:=") 这样写没有问题吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2007-12-10 13:45:52 | 只看该作者
    问题终于解决了,以下是解决方法:
    Dim pageObj,txt,myWebEditObj,myTextRange,strTemp
    '画面对象
    Set pageObj = Browser("CreationTime:=0").Page("index:=")
    '控件对象
    Set myWebEditObj = Browser("CreationTime:=0").Page("index:=").WebEdit("name:=TextboxUserCode")
    '选中控件中的文字
    myWebEditObj.Object.select()
    '取得画面上选中的对象
    Set txt = pageObj.Object.selection
    '取得画面上选中的对象的文字对象
    Set strTemp = txt.createRange
    '取得画面上控件选中的文字对象
    Set myTextRang = myWebEditObj.Object.createTextRange
    '比较
    If strTemp.isEqual(myTextRang) Then
            msgBox "true"
    Else
            msgBox "false"
    End If
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-11-26 18:27:08 | 只看该作者
    把简单的事复杂化......
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-11-26 15:06:22 | 只看该作者

    回复 10# 的帖子

    同意楼上
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-11-26 14:08:07 | 只看该作者
    如果这只是过程中的一步的话。。 checkpoint没什么必要。。
    如果这个是需要验证的地方的话。 在其步骤下面一定有其他的操作。。 不会光全选了内容就完事了吧。。 所以checkpoint应该可以加在后面的步骤上
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-11-26 13:50:24 | 只看该作者
    一个傻办法
    你把选中的剪切掉,然后判断剪切板里的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2007-11-22 18:28:52 | 只看该作者
    其实,原来的情况是在FocusIn的时候,会自动选中WebEdit内的值。
    这里,我只是把它适用于所有的网页。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-11-22 18:06:50 | 只看该作者
    我感觉这个过程是在测试QTP软件本身。
    既然用select方法选中了包含的文字,现在又找方法去验证刚才QTP给自己做的事情对不对!

    目前我还没有发现合适的方法。。
    原帖由 jinsen 于 2007-11-22 15:14 发表
    代码:
    Dim tempObj
    set tempObj = Browser("CreationTime:=0").Page("index:=").WebEdit("name:=TextboxUserCode")
    tempObj.Object.focus()
    tempObj.Object.select()
    接下来我想做一个CheckPoint,判断WebEdit内 ...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-11-22 18:06:32 | 只看该作者
    用WSH传个CTRL+A快捷键呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2007-11-22 17:19:57 | 只看该作者
    谢谢,也许你说的方法能用,但是SetSelection是只针对WinEdit的,我想要的是WebEdit的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-11-22 17:10:03 | 只看该作者

    回复 3# 的帖子

    SetSelection可以解决你的问题吗?

    Sub SetSelection_Example()
    'The following example uses the SetSelection method to mark a selection
    'of text in an edit box (the second character to the fifth character
    'inclusive). The example then chooses Copy from a context menu to copy the
    'selected text. Then it chooses Paste in the context menu of a second
    'edit box to paste the selected text into the second edit box.

    Dialog("Common Controls").WinEdit("Position").SetSelection 1, 4
    Dialog("Common Controls").WinEdit("Position").Click 14, 7, 1
    Dialog("Common Controls").WinEdit("Position").WinMenu("ContextMenu").Select "Copy"
    Dialog("Common Controls").WinEdit("Offset").Click 18, 7, 1
    Dialog("Common Controls").WinEdit("Offset").WinMenu("ContextMenu").Select "Paste"
    End Sub
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2007-11-22 16:22:48 | 只看该作者
    很感谢你的回复,不过你可能没有明白我的意思。
    GetROProperty取到的值与控件内选中的值没有关系。也就是选不选中,它取到的值应该都是一样的。
    而我的目的是取到选中的值,或是判定控件内的值有没有被选中。
    例如:控件内的值是"jinsen",现在"jin"被选中了,使用GetROProperty只能得到"jinsen",而我想要的是"jin"。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-11-22 15:44:57 | 只看该作者
    continues your script
    dim temp
    temp = empObj.Object.GetROProperty("value")
    if temp = ExpectedResult then
    the action you want to take
    Else
    maybe should call a log function
    end if
    乱写的,你看看是不是这个思路可以
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 02:27 , Processed in 0.087381 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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