Q61.有一个用Dotnet开发的应用,有1000个为测它而录制的case,一直都运行的很正常,直到有一天… 有人改变了该应用命名空间,由于现在有一个新的window或是panel出现,所以测试脚本一运行就失败了。显然,SilkTest无法认出这个窗口,有什么办法在不重新录制这些testcase的情况下解决问题么? A61: 答案1:首先捕捉新的窗口,然后和旧的窗口的声明进行比较。尝试着找出它们之间tags的改变。因此,你仅仅需要改变一些窗口的identifies并且包含附加的窗口。(你不要动你那1000个testcase),以前我也遇到了同样的问题,就是这样解决的。 答案2:如果你非常确定仅仅是命名空间的改变导致你的脚本无法正确运行,我建议采用下面的方法。假设先前的命名是”x”,现在的命名空间是”y”,你的脚本都在一个名叫”F”的文件夹中。你现在需要用任何语言C#或者你们自己的4Test语言写一个脚本,它会搜索整个”F”文件夹,并且在所有文件中用”y”来替换”x”。
Q62.如何使用你的DefaultBaseState? A62. 1)关闭你的web应用和其他web浏览器。 2)确保你的test frame是打开的。 3)点击Run/Application State菜单。运行应用状态对话框将被打开,里面会列出各种状态,其中的一个将是DefaultBaseState。 4)选择DefaultBaseState。 5)点击运行按钮,运行时状态对话框将会出现。并且结果文件对话框也会出现。 6)你将看到result文件里面没有错误。
Q63:Q1:我有一个类似与记事本的查找对话框的GUI。其中Check Box 匹配大小写被识别成了一个Push Button,而我想要检查该Check Box是否被选中了。我无法映射标准的类PushButton到另一个类CheckBox。在Window declaration中,我手动地把PushButton类改成了CheckBox类,但是并不能正常工作,请给我点建议吧。 A63: 答案1:尝试使用Window Identifier找到该对象的类,有时她已经被映射了;如果该对象是用VB或者C++写的,尝试使用ActiveX属性。 问题2:我检查过,该类对象没有被映射。该应用是用c++开发的,你可以分享一些关于如何在silktest中使用ActiveX属性的信息么? 答案2:我想,你需要将你的应用加入扩展激活器中,并且选择ActiveX属性。你可以查阅帮助“ActiveX: enabling support for”。
Q64:一个testcase的重要方面有哪些? A64: 1)每个testcase必须独立于其他testcase。 2)每个testcase都有单独的测试目标。 3)每个testcase都从一个基本状态开始,并且返回到同一个基本状态。
Q65.是否用办法从指定点运行脚本,就像在winrunner中使用run from cursor 选项一样? A65:我不认为在silktest中可以从指定的光标处开始运行,在这种情况下,我将注释掉上面的所有行,改变appstate成none,然后再运行。
Q66:如何将一个testcase包含进一个testplan? A66: 1.确保你的testplan是打开的。 2.为你的testplan输入一个测试描述,例如:Test login process 3.选择这个测试描述。 4.点击Testplan/Detail菜单,TestPlan细节对话框将会出现。 5. 在TestPlan细节对话框中点击Test Execution tag。 6.点击Scripts按钮浏览并且选择一个testcase脚本文件,例如LoginTest.t 7.点击OK关闭TestPlan细节对话框。
Q67.如何设置最大值? A67.下面是在你需要验证一个对象(TextField)接受一个最大的char的限制时使用的函数。 [code] [+] boolean VerifyMaxChars (window wTarget, integer iMax, string sChar optional) [ ] [ ] string sText = "" [ ] string sComp [ ] [+] if sChar == null [ ] [ ] sChar = "A" [ ] [ ] [ ] sText = Replicate (sChar, iMax) [ ] [ ] wTarget.TypeKeys (sText) [ ] [ ] sComp = wTarget.GetText () [ ] [+] if sText != sComp [ ] [ ] Verbose ("Verify Max Chars failed, expected number {iMax}, actual {Len (sComp)}") [ ] [ ] return false [ ] [ ] [ ] sText = Replicate (sChar, iMax + 1) [ ] [ ] wTarget.SetText (sText) [ ] [ ] sComp = wTarget.GetText () [ ] [+] if sText == sComp [ ] [ ] Verbose ("Verify Max Chars failed, expected number {iMax}, actual {iMax + 1}") [ ] [ ] return false [ ] [ ] [ ] return true [ ] [/code]
Q68.如何将一个testcase自动录制进testplan? A68.testcase可以先被录制,然后将它包含进一个testplan。Testcase也可以被直接录制进testplan. 1.确保你的testplan处于打开状态。 2.在testplan中输入你的测试描述。例如: Test change password 3.选择这个测试描述。 4.点击Record/Testcase菜单。 5.为该脚本输入一个名字。 6.点击打开,录制testcase对话框将会出现。 7.在testcase名字域输入一个testcase名字。 8.在应用状态下拉列表中选择DefaultBaseState。 9.点击开始录制按钮。录制testcase对话框将关闭。你的web应用将根据test frame文件中的信息被silktest启动,。Silktest编辑窗口会关闭,录制状态对话框会出现。 10.继续使用你的web应用。Silktest会记录所有你对应用的操作。 11.在录制状态对话框上点击完成,停止录制。录制状态对话框将会关闭。录制testcase对话框将再次出现。 12点击粘贴到编辑器,silktest将会把录制的操作以4Test语句的方式插入脚本文件,录制testcase对话框将关闭。 13.点击File/Save菜单保存脚本文件。你可以输入脚本文件名,例如: ChangePasswordTest.t.
Q69.Silktest能够自动切换浏览器么? A69.你可以做到,但是有一些步骤你必须完成。 你需要使用Organizer来做。使用它,你可以重新运行同一个testcase只是在顶部打开一个不同.opt(options)文件。你必须保存这两个2个opt文件,在你设置了运行时使用Netscape后,保存第一个并且在你设置使用IE以后保存第二个。 多读一些organizer方面的东西以便知道更多。
Q70.如何从一个testplan文件运行一个testcase? A70. 1.打开testplan 2.选择有testcase链接过测试描述行。 3.点击Run/Testcase菜单。Run testcase对话框将出现。 4.点击Run按钮,silktest将开始运行testcase 5.不要动鼠标和键盘,避免打断testcase的运行。 6.silktest结束之行testcase, 结果窗口将会显示执行结果。 7.检查执行结果
|