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.检查执行结果

SilkTest Q&A 7的更多相关文章

  1. SilkTest Q&A 9

    Q81:我应该如何存取excel sheet里面的空字符串? A81:定制代码如下: 解决方案1: [-] if sText!=NULL [ ] Page.tfldName.SetText(sText ...

  2. SilkTest Q&A 2

    Q11:SilkTest中有没有计算web页面上单词数量的函数? A11:你可以使用Clipboard函数.使用Ctrl+a和Ctrl+c,然后解析string的list. Q12:silktest的 ...

  3. SilkTest Q&A 12

    111. 谁能告诉我,正在执行的SilkTest的log是存放在哪里? 答案1: 用下面的命令可以导出文本格式的log "c:/program files/segue/silktest/pa ...

  4. SilkTest Q&A 13

    Q121 :我想要测试 windows2003 上的 remote 应用,但是每次都得到如下的错误 我想要测试 windows2003 上的 remote 应用,但是每次都得到如下的错误: " ...

  5. SilkTest Q&A 8

    Q72.如何在一个testplan中运行所有的testcase? A72. 1.打开testplan 2.点击Run/Run All Tests菜单,SilkTest开始执行testplan中所有的t ...

  6. SilkTest Q&A 10

    92. 如何把单个表达式分两行来写? 答案1: 使用Shift + Enter 答案2: 很容易在online help里面找到答案: 1)      line break in code 2)    ...

  7. SilkTest Q&A 11

    101. 如何从其他的机器访问脚本? 答案:将包含脚本的文件夹共享出来…非常简单…你可以使用connect()在你本机运行脚本从而使得它们在其他的一些机器上执行…但是其他人无法访问这些脚本,除非你将它 ...

  8. SilkTest Q&A 3

    Q21:如何给testcase的属性赋值? A21: 1.确定你的testplan处于打开状态. 2.点击你准备赋属性值的testcase 3.点击TestPlan/detail菜单,testplan ...

  9. SilkTest Q&A 4

    Q31.如何在inc文件里面写函数? A31.在你在inc文件(例如demo.inc)里写好函数以后,你需要使用Use path/Use file来指定指定它们. 在SilkTest中->Opt ...

随机推荐

  1. 转:Javascript继承机制的设计思想

    我一直很难理解Javascript语言的继承机制. 它没有"子类"和"父类"的概念,也没有"类"(class)和"实例" ...

  2. 大整数乘法python3实现

    因为python具有无限精度的int类型,所以用python实现大整数乘法是没意义的,可是思想是一样的.利用的规律是:第一个数的第i位和第二个数大第j位相乘,一定累加到结果的第i+j位上,这里是从0位 ...

  3. 【Unity 3D】学习笔记四十:射线

    射线 射线,类比的理解就是游戏中的子弹.是在3D世界里中一个点向一个方向发射的一条无终点的线.在发射的过程中,一旦与其它对象发生碰撞,就停止发射. 射线的原理 创建一个射线时,首先须要知道射线的起点和 ...

  4. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[编程篇]

    原文:WCF技术剖析之二十七: 如何将一个服务发布成WSDL[编程篇] 对于WCF服务端元数据架构体系来说,通过MetadataExporter将服务的终结点导出成MetadataSet(参考< ...

  5. 【代码】Android: 怎样设置app不被系统k掉

    有一种方法可以设置app永远不会被kill,AndroidManifest.xml 中添加: android:persistent="true" 适用于放在/system/app下 ...

  6. 异常:未能载入文件或程序集”DAL”或它的某一个依赖项——解决的方法

    以下是我再使用抽象工厂+反射重构机房时,在Factoy中出现了以下一个问题: 去网上查了一下资料,发现这是一个非常普遍的问题,它出现的原因主要有两种: 第一种: 载入DLL路径错误.解决的方法是调整D ...

  7. 集群安装配置Hadoop具体图解

    集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8. 详细架构: node4 Namenode,secondnamenode,jobtracker node ...

  8. Java基础02 方法与数据成员

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...

  9. linux shell编程指南第十一章------------合并与分割2

    c u t用来从标准输入或文本文件中剪切列或域.剪切文本可以将之粘贴到一个文本文件. 下一节将介绍粘贴用法. c u t一般格式为: cut [options] file1 file2 下面介绍其可用 ...

  10. React.js学习

    React.js学习之环境搭建 1 工欲善其事必先利其器:前端开发工具 1.1 WebStorm和Sublime Text Sublime Text:作为代码编辑器,Sublime Text的优点如下 ...