月亮冰 发表于 2010-6-1 22:17:10

RFT运行找不到对象,但debug可以

遇到奇怪的问题,RFT在运行时找不到对象,但是在debug时却是可以的。
后来在相应位置都加了sleep,可以运行了。
但是不理解,粗体的地方为什么需要加sleep呢? 其一: 页面找到userid之后并不会刷新,而是直接找password text。其二:已经找到了password text,为何调用setText方法还需要sleep
Java和RFT都是从零开始的,学习不久,请高手指点指点

        private void login(BrowserTestObject bto, String userName, String pwd){
               
                InputTextOperation inputTextOp = InputTextOperation.getInstance();
               
                TextGuiTestObject textUser = inputTextOp.findInputText(bto, ".name","username");
                textUser.setText(userName);       
                textUser.unregister();
               
                sleep(5);
                TextGuiTestObject textPwd = inputTextOp.findInputPassword(bto);
                sleep(8);
                textPwd.setText(pwd);
                textPwd.unregister();
               
                sleep(3);
                GuiTestObject button = ButtonOperation.getInstance().findSubmitButton(bto, "login");
                button.click();
                button.unregister();
                bto.maximize();
                bto.unregister();
               
//                RationalTestScript.sleep(Constants.Time_Page_Refresh);
        }

[ 本帖最后由 月亮冰 于 2010-6-1 22:37 编辑 ]

月亮冰 发表于 2010-6-2 13:17:50

单位电脑一直还是运行到textPwd.setText("PWD")就exception,重启居然就识别了,而且无需添加sleep了,汗。

用了一段时间了,确实有时候会偶尔出现不能识别对象之类的问题,我想QTP可能还是存在一些缺陷。

而且我的项目也挺奇怪的,项目部署在两套环境,一套环境在回放脚本的一个地方点击“OK” buttom后是一直可以正常执行的,另外一套环境一到这里点击“OK” button就会弹出无数个浏览器页面,不知道大家遇到过没有。

欢迎使用者加我沟通交流~~谢谢

[ 本帖最后由 月亮冰 于 2010-6-21 14:33 编辑 ]
页: [1]
查看完整版本: RFT运行找不到对象,但debug可以