SilkTest Q&A 11
101. 如何从其他的机器访问脚本?
答案:将包含脚本的文件夹共享出来…非常简单…你可以使用connect()在你本机运行脚本从而使得它们在其他的一些机器上执行…但是其他人无法访问这些脚本,除非你将它们共享出来或者试试别的什么方法。
103. 有什么办法可以让默认的复原系统顺序关闭对话框么?
谁能够告诉我有什么办法可以让默认的复原系统顺序关闭对话框么?这些对话框的双亲不是MainWin,而是ChildWin,我将会十分感激。默认的复原系统只能够检查那些双亲是由wMainWindow常量表示的MainWin的对话框。
答案1:
嗯,你不用改变默认的复原系统,但是你可以用一个基于none状态的appstate,而不是基于DefaultBaseState的appstate
答案2:
建立一个全局变量
lwClose = {…}
想要关闭的windows
然后增加:
TestcaseExist ()
window wClose
for each wClose in lwClose
if wClose.Exists ()
wClose.Close ()
答案3:
这里有你想要的,假设你有如下的树状结构:
Win1 Win7
Win2 Win3 Win8 Win9
Win4 Win5 Win6
注意win7和win1有不同的threads
当你申明这些窗口时,你要把他们加入lwClose list中去。下面是加后的list结果(假设你想要让win1打开):
lwClose = {...}
Win9
Win8
Win7
Win6
Win3
Win5
Win4
Win2
这样你就建立了你的threads树,或者你可以建立一个Dismiss()函数如下:
for i = 1 to ListCount (lwClose)
do
for each wClose in lwClose
wClose.Close ()
except
do nothing (假如你必须按顺序关闭窗口)
104. 我想从 result 窗口中去掉 testcase 中 script 的内容,该如何做?
如果 case 通过了,在 result 窗口中, case 所在的 script 内容都会在 result 文件里面打印出来。我想把他们去掉,该如何做?
答案 1 : 在 Option 菜单的 runtime 对话框里,有几个 check box 是可以设定 result 的。根据你对 result 的设定,会产生不同的 result 内容。根据你的需要来设定吧。
更详细一点,在 Option->Runtime 对话框中,在 ”debugging” 部分中 uncheck ”print agent calls” 和 ’Print tags with agent calls”
106. 这种情况怎么办?
有一个应用,通过frame文件来识别对象。假如一个对象是custom object,你把custom object map成标准对象。而在map完成之后,该对象还是不能被SilkTest所识别,那该怎么办呢?
答案:首先,你不得不尝试enable不同的extension,这样对象应该能被识别。如果这样还是不行的话,最后的选择就是使用坐标了,不过如果不能正确地使用坐标的话,这种方法不会很stable的。
107. 如何为List of List of String进行排序?
答案:
[+] testcase test() appstate none
[ ]
[ ] LIST OF LIST OF STRING llsStr =
{{"1234","A"},{"2242","B"},{"2234","C"}}
[ ] Print(Sort(llsStr))
[+] LIST OF LIST OF STRING Sort (LIST OF LIST OF STRING llsStr)
[ ]
[ ] LIST OF STRING lsStr
[ ] INTEGER i, j , k
[ ] k = ListCount(llsStr)
[+] for (i=1;i <= k;i++)
[+] for (j=i+1; j<=k; j++)
[+] if val(llsStr[i][1]) > val (llsStr[j][1])
[ ] lsStr = llsStr[j]
[ ] llsStr[j] = llsStr[i]
[ ] llsStr[i] = lsStr
[ ]
[ ]
[ ] return llsStr
108如何编写 master plan?
答案 1: 是的,你可以用 master plan 这种途径来运行你所有的 sub plan 。只要新建一个 plan 文件,并在其中调用你的 sub plan 或者 testcase 即可。
如果你想要在 master plan 中运行 sub plan ,你可以用如下的语法格式:
Include: mysubplan.pln
答案 2:
1. 打开你的 master plan
2. 你可以 mark 需要运行的 sub plan
3. 从 master plan 中运行 mark 的 sub plan
如何 mark sub plan
1. 在 master plan 中选择 sub plan 的整行 ( 例如, include: subplan1.pln)
2. 到 test plan 菜单,选择 ”mark”
3. 重复该步骤, mark 所有的需要运行的 sub plan
4. 到 Run 菜单,选择 ”run marked tests”
这样你就可以仅仅运行那些 mark 过的 sub plan ,在最终的 result 文件中,你可以通过不同的颜色区别出哪些 plan 是运行过的,哪些是没有运行过的
109. 如何在script文件中隐藏密码?
在winrunner中,密码是通过加密的方式记录的,但是silktest中,是按照实际的内容进行记录的。
所以在script中无法隐藏密码,如果你需要绕过这个问题,可以从文件中读取密码。
如果这还不够好(因为在文件中密码还是以文本方式保存的),你可以使用一些加密功能的工具来加密密码。你可以调用外部的语言(Ruby,perl,python等)来加解密,然后把它通过一个变量传过来。
问题是无论你用哪种方法来输入一个未加密的密码到登陆界面,该密码同样可以被写到另外一个文件中去(这样就可以被别人盗用)。
所以,不要使用你自己的账号来做测试。应该使用专门的测试账号。
SilkTest Q&A 11的更多相关文章
- SilkTest Q&A 7
Q61.有一个用Dotnet开发的应用,有1000个为测它而录制的case,一直都运行的很正常,直到有一天… 有人改变了该应用命名空间,由于现在有一个新的window或是panel出现,所以测试脚本一 ...
- SilkTest Q&A 9
Q81:我应该如何存取excel sheet里面的空字符串? A81:定制代码如下: 解决方案1: [-] if sText!=NULL [ ] Page.tfldName.SetText(sText ...
- SilkTest Q&A 2
Q11:SilkTest中有没有计算web页面上单词数量的函数? A11:你可以使用Clipboard函数.使用Ctrl+a和Ctrl+c,然后解析string的list. Q12:silktest的 ...
- SilkTest Q&A 4
Q31.如何在inc文件里面写函数? A31.在你在inc文件(例如demo.inc)里写好函数以后,你需要使用Use path/Use file来指定指定它们. 在SilkTest中->Opt ...
- SilkTest Q&A 12
111. 谁能告诉我,正在执行的SilkTest的log是存放在哪里? 答案1: 用下面的命令可以导出文本格式的log "c:/program files/segue/silktest/pa ...
- SilkTest Q&A 13
Q121 :我想要测试 windows2003 上的 remote 应用,但是每次都得到如下的错误 我想要测试 windows2003 上的 remote 应用,但是每次都得到如下的错误: " ...
- SilkTest Q&A 8
Q72.如何在一个testplan中运行所有的testcase? A72. 1.打开testplan 2.点击Run/Run All Tests菜单,SilkTest开始执行testplan中所有的t ...
- SilkTest Q&A 10
92. 如何把单个表达式分两行来写? 答案1: 使用Shift + Enter 答案2: 很容易在online help里面找到答案: 1) line break in code 2) ...
- SilkTest Q&A 3
Q21:如何给testcase的属性赋值? A21: 1.确定你的testplan处于打开状态. 2.点击你准备赋属性值的testcase 3.点击TestPlan/detail菜单,testplan ...
随机推荐
- USACO Ski Course Design 暴力
从Min到Max范围内暴力一下即可. /* ID: wushuai2 PROG: skidesign LANG: C++ */ //#pragma comment(linker, "/STA ...
- [置顶] HMM Tutorial 隐马尔科夫模型
有一个月没有写博客了,这一个月系统的学习了HMM model. 上周周五做了个report 感觉还好. 所以把Slide贴上来.
- 多线程之线程通信条件Condition
Condition是Locks锁下的还有一种线程通信之间唤醒.堵塞的实现.它以下的await,和signal可以实现Object下的wait,notify和notifyAll的所有功能,除此之外改监视 ...
- [LeetCode] Decode Ways [33]
题目 A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A ...
- AIDL使用详解
一.对AIDL进行说明 AIDL允许定义一个编程的接口来作为客户端和服务端通信的桥梁,AIDL定义了客户端和服务端的编程标准,在Android里边一个进程无法直接访问另一个进程的内存信息,但是要访问的 ...
- HDU--杭电--1501--Zipper--深搜、DP都好
Zipper Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- 三个API:开启、关闭、关闭线程重定向
C:\Windows\sysnative\ 这个目录是作什么用的?来源:互联网 责任编辑:小易 时间:2015/11/13 0:17:19用户提出问题:C:\Windows\sysnative\ 这个 ...
- 关于C(m,n)%p的故事
序 遥远的\(\mod p\)(\(p\)是质数)大陆有一个恶魔:\[C(m,n)={m!\over n! (m-n)!}\] 于是大家有了各种求逆元的方法.这里MOD = p. 壹 for (int ...
- codeforces 487E Tourists
如果不是uoj上有的话(听说这是China Round),我有可能就错过这道题目了(这是我有史以来为oi写的最长的代码,用了我一天TAT!). 题目 传送门. 一个连通无向图,点上有权,支持两种操作: ...
- 经典集合 与 IQueryable集合 的差别
经典集合 与 IQueryable集合 的差别 经典集合与IQueryable 集合存在本质的区别,经典结合是在内存中开辟一片区域用来存储数据,而IQueryable集合是延迟加载的集合,只有在用到的 ...