google搜索 51Testing站内搜索                    软件测试门户 | 软件测试培 训 | 文章资料精选 | 软件测试论坛 | 软件测试博客 | 测试招聘求职 
打印

求助:我录制frame的时候总是有错,请教!

求助:我录制frame的时候总是有错,请教!


我是silktest的新手,最近在学习的时候录制一个页面的frame的时候总是出错,
当我录制完测试的时候result里报这样的结果:

[ ] *** DefaultBaseState is closing Browser windows
[ ] Closing Browser2
[ ] *** Error: Window '[PushButton]View' was not found
[ ] Occurred in IsChecked
[ ] Called from Explorer.SetRequiredOptions at extend\explorer.inc(468)
[ ] Called from Browser.SetRequiredOptions at browser.inc(562)
[ ] Called from DefaultBaseState at defaults.inc(250)
[ ] Called from main at $ScriptMain(2)

本来是一件很基本的事,为什么会出错呢?请大家指点我!谢谢

[ 本帖最后由 gangtogang 于 2007-9-20 10:32 编辑 ]

TOP

自己顶

TOP

感觉上是对象不统一


从报错信息里看,是DefaultBaseState把窗口关掉的。而且,对象是PushButton,但是错误却发生在IsChecked上面。

我的看法是:
1. 你在testcase () 把 testcase state改成none,看看脚本停在什么地方,在print一下对象。
2. 如果我没有记错的话,pushbutton应该不包涵IsChecked这个属性的(除非你是自定义的customer windows);正确的应该是checkbox之类的,如果你要强制在pushbutton上去check上勾,这是会出错的。
3. 错误实现代码发生在explorer.inc上,因为这个是系统inc,所以建议你走查你IE相关代码。

希望有帮助。
找啊找啊,找工作……
找来找去,找不到……
[有谁要招小工、临时工、钟点工……] >>  jmy_1981@hotmail.com

TOP

哇塞,终于有人回帖了,感谢啊,我去试试看。sdlkfj3

TOP

回复 3# 的帖子


高手,请问testcase state中的none和defaultbasestate都是什么意思,分别设置的作用是什么,谢谢
还有pushbutton是个什么窗体阿,我实在是太新手了,请原谅,谢谢

[ 本帖最后由 kathytian001 于 2007-10-26 10:15 编辑 ]

TOP

ls的太客气了,我也是初学者……


如题。

state 是Silk里面用来控制每一个testcase在运行的时候的初始状态,比如,你设定一个State叫做AfterLogin,那么,在基于AfterLogin的testcase时候就是直接登录系统,以登录完成作为标准。

pushButton就是按钮,你平时看到的[OK],[Cancel]都属于这一类。

希望有帮助。
找啊找啊,找工作……
找来找去,找不到……
[有谁要招小工、临时工、钟点工……] >>  jmy_1981@hotmail.com

TOP

测试frame?出错的对象是pushbutton,怀疑对象识别配置不对。


测试frame?出错的对象是pushbutton,怀疑对象识别库都不太对。
如果是frame,在WEB页面中,应该被silktest识别为HtmlPushButton,l而不是pushbutton;确定你的配置是否正确,请检查并且确认
enable extension步骤是否你的应用被识别为了DOM应用?
在silktest中,C/S和B/S应用的对象识别机制不同,后者可以识别到源代码级别,就是经常说的DOM机制。

关于appstate,建议参照下帮助文件,其实silktest里面对testcase的定义,就是“驱动应用从一个场景(开始场景)到另外一个场景”,这里的开始场景就是你录制时候选择的appstate,比如你定义了一个场景,该场景也是一些脚本代码的组合,作用是把应用打开,
自动在登陆窗口中输入帐号名,密码。那么你录制testcase的时候选择从该appstate开始,silktest就会首先自动进行appstatezhogn的动作,即把打开应用,输入登陆信息,登陆成功后,才把操作权利交给用户,用户进行下面的动作并被录制。

多说一点,自动化测试和开发一样,强调代码的封装和重用;简单说,silktest里面的代码重用有三种方式,Testcase(测试用例),
appstate(测试场景),function(函数);主要区别如下:

Testcase保存在.t文件中,可以被选择执行,每个testcase都是从某个appstate开始的,即testcase可以调用一个appstate.
testcase之间不可以互相调用。

appstate可以互相继承,比如两个appstate分别是登陆和查询操作,那么可以定义查询操作appstate是继承登陆的appstate1的。
function最简单,可以被appstate,testcase调用。

TOP

楼主说的是录制frame时报错,仔细看了出错信息,应该是录制Application State时报错.
解决办法如下:
Options->Extensions->Internet Explorer6->Options->Extension->DOM Extensions
将所有的Checkbox钩上即可.

TOP





在$SilkTest installation path\extend下的Explorer.inc文件,搜“isChecked”字符,如下注释掉该行即可。

//if (! Explorer.View.Toolbars.StandardButtons.IsChecked ())

TOP

斑竹好强啊


我也遇到同样的问题,用你的办法就立即解决了,真的很感谢

TOP

 
当前时区 GMT+8, 现在时间是 2008-10-13 05:22Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹