51Testing软件测试论坛

标题: 求助:我录制frame的时候总是有错,请教! [打印本页]

作者: gangtogang    时间: 2007-9-20 00:45
标题: 求助:我录制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 编辑 ]
作者: gangtogang    时间: 2007-9-20 10:33
自己顶
作者: jmy_1981    时间: 2007-9-20 16:57
标题: 感觉上是对象不统一
从报错信息里看,是DefaultBaseState把窗口关掉的。而且,对象是PushButton,但是错误却发生在IsChecked上面。

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

希望有帮助。
作者: gangtogang    时间: 2007-9-21 00:42
哇塞,终于有人回帖了,感谢啊,我去试试看。sdlkfj3
作者: kathytian001    时间: 2007-10-26 10:10
标题: 回复 3# 的帖子
高手,请问testcase state中的none和defaultbasestate都是什么意思,分别设置的作用是什么,谢谢
还有pushbutton是个什么窗体阿,我实在是太新手了,请原谅,谢谢

[ 本帖最后由 kathytian001 于 2007-10-26 10:15 编辑 ]
作者: jmy_1981    时间: 2007-10-26 17:21
标题: ls的太客气了,我也是初学者……
如题。

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

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

希望有帮助。
作者: asks_zhuang    时间: 2007-10-27 17:18
标题: 测试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调用。
作者: Martinyang    时间: 2007-12-15 23:27
楼主说的是录制frame时报错,仔细看了出错信息,应该是录制Application State时报错.
解决办法如下:
Options->Extensions->Internet Explorer6->Options->Extension->DOM Extensions
将所有的Checkbox钩上即可.
作者: lvxdoo    时间: 2008-3-21 14:12
标题: 斑竹好强啊
我也遇到同样的问题,用你的办法就立即解决了,真的很感谢




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