软件测试论坛

 找回密码
 软件测试论坛注册页
查看: 5241|回复: 5

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

  [复制链接]
发表于 2008-4-28 13:49:46 | 显示全部楼层 |阅读模式
软件测试工程师就业班马上开班
我是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)

本来是一件很基本的事,为什么会出错呢?请大家指点我!谢谢
ISTQB
发表于 2008-4-28 13:54:05 | 显示全部楼层
软件测试工程师就业班马上开班
感觉上是对象不统一


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

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

希望有帮助。
ISTQB
发表于 2008-4-28 13:59:24 | 显示全部楼层
软件测试工程师就业班马上开班
回复 2# 的帖子


高手,请问testcase state中的none和defaultbasestate都是什么意思,分别设置的作用是什么,谢谢
还有pushbutton是个什么窗体阿,我实在是太新手了,请原谅,谢谢
发表于 2008-4-28 14:03:10 | 显示全部楼层
软件测试工程师就业班马上开班
ls的太客气了,我也是初学者……


如题。

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

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

希望有帮助。
发表于 2008-4-28 14:08:26 | 显示全部楼层
软件测试工程师就业班马上开班
[b][url=http://www.ltesting.net]测试[/url][/b]frame?出错的对象是pushbutton,怀疑对象识别配置不对。


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

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

多说一点,自动化测试和[b][url=http://www.ltesting.net/html/4/category-catid-4.html]开发[/url][/b]一样,强调代码的封装和重用;简单说,silktest里面的代码重用有三种方式,Testcase([b][url=http://www.ltesting.net/html/94/category-catid-94.html]测试用例[/url][/b]),
appstate(测试场景),function(函数);主要区别如下:

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

appstate可以互相继承,比如两个appstate分别是登陆和查询操作,那么可以定义查询操作appstate是继承登陆的appstate1的。
function最简单,可以被appstate,testcase调用。
发表于 2008-4-28 14:17:51 | 显示全部楼层
软件测试工程师就业班马上开班
楼主说的是录制frame时报错,仔细看了出错信息,应该是录制Application State时报错.
解决办法如下:
Options->Extensions->Inte[b][url=http://www.ltesting.net/html/55/category-catid-155.html].net[/url][/b] Explorer6->Options->Extension->DOM Extensions
将所有的Checkbox钩上即可.

本版积分规则

Archiver|手机版|小黑屋|领测软件测试网 ( 京ICP备10010545号-5 )

GMT+8, 2021-10-23 12:49 , Processed in 0.180126 second(s), 10 queries , Xcache On.

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表