51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3406|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

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
乱写的,你看看是不是这个思路可以
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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内 ...
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

回复 10# 的帖子

同意楼上
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-11 10:22 , Processed in 0.080490 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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