|
先说下我录制的脚本,功能超简单,就是在页面上的文本框上分别输入内容,就是这样一个操作回放都不成功!生成的代码如下:
Window setcontext,"caption={天*}",""
Browser setframe,"Type=HTMLFrame;HTMLId=pdmismain;\;Type=HTMLFrame;HTMLId=mainframe",""
Browser Newpage,"HTMLTitle=...;Index=0",""
EditBox click,"Type=EditBox;Name=...",""
inputkeys "..."
每次脚本回放错误都是停在红色这条语句上,也就是说在文本框单击的时候找不到这个文本框对象。。。(注:橙色那句即使注释掉了也是报错,除此之外我也试过在红色那句前加延时,也是无济于事。。。)
我之前发过这个问题,好象一直没有人解决。。。最近我去找开发人员翻开源代码后找到了些疑点,请各位有经验的人事一起来讨论下:)
这个系统比较特殊,由C#.net平台开发,而且使用了特殊的frame框架,表现为在IIS上发布这个系统的时候,需要发布两个文件夹后(分别叫做frame和cngdzc)才可以访问。而我在这两个文件夹里查找了robot录制生成的代码中的frame页,结果找到了这个路径下的cngdzc/gdzc_add/mainframe.aspx(对应robot里Browser setframe的Type=HTMLFrame;HTMLId=mainframe)页,而robot中Browser serframe的第一个Type=HTMLFrame;HTMLId=pdmismain中的pdmismain在上述两个文件夹下没有找到页面,后来发现是存在了frame/frameset/operate.cs(C#源文件)中,而这个.cs文件具体的代码如下:
if(null!=MakeSession())
{
SingleLogon ui=new SingleLogon(_dt_module.Rows[0]["MAKESESSION"].ToString());
ui.GetSendScript(_dt_module.Rows[0]["OPERATEPAGE"].ToString,"pdmismain"); //(大家注意看这里,用到了pdmismain)
}
这个问题很不好解决,因为看似生成的代码和普通的系统没有什么不同之处,但就是回放时候找不到对象,不知道问题到底出在哪里,如何解决,我感觉就是frame的问题,各位有经验的朋友多指教了!!!期待大家发表意见!
[ 本帖最后由 bb64844866 于 2008-9-4 16:28 编辑 ] |
|