SilkTest Q&A 10
92. 如何把单个表达式分两行来写?
答案1: 使用Shift + Enter
答案2: 很容易在online help里面找到答案:
1) line break in code
2) line continuation character.
94. 我想设置run time的current path
我要设置run time 的current path,意味着如果我有一个脚本*C:/SilkTest*/XYZ.pln,在初始化函数中,我需要设置路径为*C:/Silktest*, 如何在SilkTest中做到这点?
答案:试试操作CurrentPath这个变量。
95. SilkTest中的.vtp文件是干什么的?
答案:.vtp是项目文件,请参考帮助以了解更多。
96. 我如何能在SilkTest中使用超过一种浏览器,假如我要使用3种浏览器,这种情况下应该如何写脚本呢?
答案:使用IE和Netscape是非常类似的,不过你不得不在tag上作一些改变。
97. .OPT文件是用来做什么的?
答案:.opt文件用来设置option
假如你在script中设置了下面的option
Agent.SetOption (OPT_WINDOW_TIMEOUT, 5)
Agent.SetOption (OPT_WINDOW_RETRY, 0.06)
Agent.SetOption (OPT_KEYBOARD_DELAY, 0.3)
.....
.....
只有少数option你可以在script里面…如果你想设置更多的option,最好是把它们设在.opt文件中,然后use这些.opt文件…
上面的例子是for Agent option的….还有一些option事必须设置在.opt文件中的,例如:General,Runtime的option
98. 怎么得到网页的内容?(比如:yahoo首页)
答案:
BrowserPage.SetActive ()
Clipboard.SetText ()
BrowserPage.TypeKeys ("")
BrowserPage.TypeKeys ("")
list of string lsText = Clipboard.GetText ( ) // 保存浏览器页面内容
99. 请解释如何用SilkTest做数据驱动测试
答案:
1) 新建一个.xls文件,里面包含了会被脚本请求的数据,例如用户名和密码
2) 在silktest中选择workflow为data driven
3) 选择Data Driven Test Case(在你建立了自己的testcase之后),按照向导选择你刚刚建立的.xls数据表文件。这会自动为你建立DSN。接下来要求输入名字的地方都用默认的设置即可。
4) 在你的脚本中编写代码,例如:
[CODE]
testcase DataDrivenExample () appstate DefaultBaseState
[ ]
[ ] Browser.Maximize()
[ ]
[ ] // If the Logon page is not displayed Load it.
[-] if (!LoginPage.Exists())
[ ] Browser.LoadPage("{kProtocol}://{kwebServer}:{kPort}/logon.jsp")
[ ]
[ ] LoginPage.LoginUser (User, Password)
[ ] ApplicationHome.Exists(kPageTimeOut)
[ ] ApplicationHome.SetActive()
[/CODE}
然后,高亮选择你的变量User,比如,在替换面板第一个下拉列表中,选择你的UserName列(已经自动链接到你的xls表了),然后选择替换,为其他你需要替换的数据做同样的事情。注意, DATA DRIVEN ASSISTANT SECTION是自动生成的代码。这是一个快速开始的好办法,希望它能对你有所帮助。
在替换完成以后,代码看上去应该像下面这个样子:
[CODE]
testcase DataDrivenExample (REC_DATALIST_DD_DataDrivenExample rData) appstate DefaultBaseState
[ ]
[ ] Browser.Maximize()
[ ]
[ ] // If the Logon page is not displayed Load it.
[-] if (!LoginPage.Exists())
[ ] Browser.LoadPage("{kProtocol}://{kWebServer}:{kPort/logon.jsp")
[ ]
[ ] LoginPage.LoginUser (rData.recSheet1_.User, rData.recSheet1_.Password)
[ ] ApplicationHome.Exists(kPageTimeOut)
[ ] ApplicationHome.SetActive()
[/CODE]
100. 为了注册,我正在输入一些 data…
问题:
为了注册,我正在输入一些数据,后面的迭代导致测试用例失败,原因是 session 的 cookie 仍然存在,所以整个测试都会 fail 。我应该怎么做啊,清空 cache 看上去不起作用。
答案 1 :
我们也遇到过相同的情况。绕过这个问题的唯一方法就是不要接受 cookie ,如果应用允许的话。或者在两次测试之间杀掉浏览器进程,并且直接清空 cookie 。
答案 2 :
你需要写一小部分代码来清空 cache 。通过浏览器工具菜单 ->Internet options ,然后点击 delete cookie and delete files 。你可以将这个操作作为你应用 appstate 的一部分,这样每次你启动新的 testcase 时它都会被执行。
SilkTest Q&A 10的更多相关文章
- 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 3
Q21:如何给testcase的属性赋值? A21: 1.确定你的testplan处于打开状态. 2.点击你准备赋属性值的testcase 3.点击TestPlan/detail菜单,testplan ...
- SilkTest Q&A 4
Q31.如何在inc文件里面写函数? A31.在你在inc文件(例如demo.inc)里写好函数以后,你需要使用Use path/Use file来指定指定它们. 在SilkTest中->Opt ...
- SilkTest Q&A 6
Q51.GMO在线的问题? 该问题是一个特例,不具有代表性,故不翻译了. Q52.如何为一个testplan的属性定义值? A52:你必须在使用前为一个testplan定义值: 1.确保你的test ...
- 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 ...
随机推荐
- 笔记之Cyclone IV第一卷第四章Cyclone IV器件中的嵌入式乘法器
嵌入式乘法器可以配置成一个 18 × 18 乘法器,或者配置成两个 9 × 9 乘法器.对于那些大于18 × 18 的乘法运算 ,Quartus II 软件会将多个嵌入式乘法器模块级联在一起.虽然没有 ...
- 笔记之Cyclone IV 第一卷第二章Cyclone IV器件的逻辑单元和逻辑阵
逻辑单元 (LE) 在 Cyclone IV 器件结构中是最小的逻辑单位.LE 紧密且有效的提供了高级功能的逻辑使用.每个 LE 有以下特性 ■ 一个四口输入的查找表 (LUT),以实现四种变量的任何 ...
- php language construct 语言构造器
isset和empty看起来像是函数,我们也经常把它当作函数一样使用,但是实际上,它们是语言构造器. php中的语言构造器就相当于C中的预定义宏的意思,它属于php语言内部定义的关键词,不可以被修改, ...
- ubuntu apt-get 遇到的问题
装软件的时候总是提示dpkg: warning: files list file for package `*****' missing, assuming package has no files ...
- arm:启动代码判断是从nand启动还是从norflash启动,拷贝程序到内存的过程
一.nand启动和nor启动:[1] CPU从0x00000000位置开始运行程序. 1.nand启动: 如果将S3C2440配置成从NANDFLASH启动(将开发板的启动开关拔到nand端,此时OM ...
- mysql入门记录
mysql -h localhost(or ID) -u root -p show databases; create database <数据库名>: drop database < ...
- java--进步学习IO
import java.io.*; public class Demo1 { public static void main(String []args) throws Exception{ File ...
- getElementById的缩略
谁都知道document.getElementById这个方法写起来比较麻烦,所以有时候我们会使用jq或者自己写一个小函数去封装,但是我这次说的缩略不同于往常的函数封装 在以前,我做过很多这样的尝试, ...
- Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)
1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约 ...
- 基于visual Studio2013解决C语言竞赛题之0609矩阵处理
题目