51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4063|回复: 9
打印 上一主题 下一主题

新手请教RFT输入文本的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-7-1 10:55:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好:
我有问题请教如下,请帮助一下,谢谢。
1.FRT测试C#开发的程序,通过IWindow的getchildren得到一个窗口内的文本输入框,我想在这个文本输入框
   输入文本,但是没有找到IWindow相应的方法。请问这个情况下输入文本怎么实现?
2.哪个接口或者类有类似SetXXXXX()的方法,可以直接操作测试对象?这样是不是能解决问题1的问题。

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

使用道具 举报

该用户从未签到

2#
发表于 2009-7-1 11:35:07 | 只看该作者
首先 C#的话 你应该用的ASP.net 协议

另外,如果你识别出来是windows的话,那从根本上面肯定就是出错了

应该识别出来的是web
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-7-1 11:55:57 | 只看该作者
IWindow接口没有提供set方法,文本录入一般是通过inputchars来完成的。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-7-1 12:05:47 | 只看该作者
我测的程序是C\S的结构,客户端就是Window窗口。应该和Web无关吧?我在IWindow调用的inputChars和inputKey方法都不可以,这些方法提示只能用在ITopWindow接口。这个怎么解决?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-7-1 13:25:17 | 只看该作者
ITopWindows应该是最上层的吧

查一下,你这个对像的上下继程关系。

如果还不行的话,用一个最笨的方法。录下来,在录的过程中输入字,看看录出来的结果,RFT是怎么处理的。从这里面得出一些启示出来
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-7-1 15:33:55 | 只看该作者
这个文本输入框是从应用程序的主窗口(IWindow接口)得到一个IWindow容器,再在这个容器getchildren得到的对象。IWindow接口我看文档也是从ITopWindow继承的,但是这个inputChars和inputKey方法好像是ITopWindow的私有方法。
    通过录制记录的脚本,RFT只抓了一个对象就是主窗口对象(假定这个对象名称为X。实际是个自定义的窗口类),在文本框的输入操作是X.inputChars("123")。而且在这个窗口所有的操作都是X.****()。这个没有识别主窗口里的子对象。
    这样是不是只能用第三方软件辅助完成这个输入文本的动作了?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-7-1 15:55:50 | 只看该作者
先搞清楚getowner,getparent这些关系吧.看看帮助

ITopWindow的接口,里面有2个方法.inputchars,inputkeys

RFT测试win并不是太好,如果你要测试文本框,必须获得顶层窗口

有个叫getTopparent的方法,可以获得你的顶层控件

你先获得你的文本框的控件,然后gettoppernt.获得testobject

这个testobject就是一个顶层,将它作为参数传入叫什么topliver什么什么的类里面
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-7-1 16:03:28 | 只看该作者
原帖由 yaowei 于 2009-7-1 12:05 发表
我测的程序是C\S的结构,客户端就是Window窗口。应该和Web无关吧?我在IWindow调用的inputChars和inputKey方法都不可以,这些方法提示只能用在ITopWindow接口。这个怎么解决?



你测试的是win?

到底是winform,还是就是win

如果测试win,识别出来的控件很多都有问题,iwindows接口也只能实现简单的操作,如果要实现比较深的测试就用第三方软件

RFT不是万能的
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2009-7-1 17:12:37 | 只看该作者
哦。谢谢啊。得到TestObject是不是用invoke也可能解决这个问题啊。我再试试。谢谢指教了。 刚接触RFT,对象结构还不熟悉,还得多学习学习。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-7-2 07:02:23 | 只看该作者
可以
获得domain对象
获得methodinfo对象
剩下的就好解决了吧,有了methodinfo也得看看是不是有对应的方法
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-22 07:00 , Processed in 0.073791 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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