51Testing软件测试论坛

标题: 新手请教RFT输入文本的问题 [打印本页]

作者: yaowei    时间: 2009-7-1 10:55
标题: 新手请教RFT输入文本的问题
大家好:
我有问题请教如下,请帮助一下,谢谢。
1.FRT测试C#开发的程序,通过IWindow的getchildren得到一个窗口内的文本输入框,我想在这个文本输入框
   输入文本,但是没有找到IWindow相应的方法。请问这个情况下输入文本怎么实现?
2.哪个接口或者类有类似SetXXXXX()的方法,可以直接操作测试对象?这样是不是能解决问题1的问题。

  谢谢
作者: yutaolife    时间: 2009-7-1 11:35
首先 C#的话 你应该用的ASP.net 协议

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

应该识别出来的是web
作者: dreamever    时间: 2009-7-1 11:55
IWindow接口没有提供set方法,文本录入一般是通过inputchars来完成的。
作者: yaowei    时间: 2009-7-1 12:05
我测的程序是C\S的结构,客户端就是Window窗口。应该和Web无关吧?我在IWindow调用的inputChars和inputKey方法都不可以,这些方法提示只能用在ITopWindow接口。这个怎么解决?
作者: yutaolife    时间: 2009-7-1 13:25
ITopWindows应该是最上层的吧

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

如果还不行的话,用一个最笨的方法。录下来,在录的过程中输入字,看看录出来的结果,RFT是怎么处理的。从这里面得出一些启示出来
作者: yaowei    时间: 2009-7-1 15:33
这个文本输入框是从应用程序的主窗口(IWindow接口)得到一个IWindow容器,再在这个容器getchildren得到的对象。IWindow接口我看文档也是从ITopWindow继承的,但是这个inputChars和inputKey方法好像是ITopWindow的私有方法。
    通过录制记录的脚本,RFT只抓了一个对象就是主窗口对象(假定这个对象名称为X。实际是个自定义的窗口类),在文本框的输入操作是X.inputChars("123")。而且在这个窗口所有的操作都是X.****()。这个没有识别主窗口里的子对象。
    这样是不是只能用第三方软件辅助完成这个输入文本的动作了?
作者: ufida_431984    时间: 2009-7-1 15:55
先搞清楚getowner,getparent这些关系吧.看看帮助

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

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

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

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

这个testobject就是一个顶层,将它作为参数传入叫什么topliver什么什么的类里面
作者: ufida_431984    时间: 2009-7-1 16:03
原帖由 yaowei 于 2009-7-1 12:05 发表
我测的程序是C\S的结构,客户端就是Window窗口。应该和Web无关吧?我在IWindow调用的inputChars和inputKey方法都不可以,这些方法提示只能用在ITopWindow接口。这个怎么解决?



你测试的是win?

到底是winform,还是就是win

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

RFT不是万能的
作者: yaowei    时间: 2009-7-1 17:12
哦。谢谢啊。得到TestObject是不是用invoke也可能解决这个问题啊。我再试试。谢谢指教了。 刚接触RFT,对象结构还不熟悉,还得多学习学习。
作者: ufida_431984    时间: 2009-7-2 07:02
可以
获得domain对象
获得methodinfo对象
剩下的就好解决了吧,有了methodinfo也得看看是不是有对应的方法




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2