SilkTest Q&A 12
111. 谁能告诉我,正在执行的SilkTest的log是存放在哪里?
答案1: 用下面的命令可以导出文本格式的log
"c:/program files/segue/silktest/partner.exe" -complog "c:/logs.txt"
-resextract -r "C:/sample.pln"
答案2: 默认情况下,Silktest并不创建log文件,它会创建.res文件,.res文件是二进制的,而log文件一般是文本文件。
然而,如果你从命令行用-resextract调用partner.exe,这将会建立一个以.txt为后缀的.res文件的副本,该文件会被存放在正在执行的.t文件和.pln文件的同级目录。
112自动测试框架是什么,尤其是在SilkTest中代表什么?
答案: 自动测试框架是指一种结构并且被正确地设计和架构。你可以理解和实现它。自动测试框架一般会包含下面的东西:
1. 针对于AUT的特殊库
2. 包装函数库的工具
3. 数据驱动的执行引擎(在给定数据上驱动测试的执行脚本)
4. 结果报告机制(每个case成功或是失败,总的测试结果,如果能有AUT的快照就更好了)
5. 长期自动化的计划
6. 保持GUI对象的信息和声明动态或静态化
7. 无人值守的执行计划
同样,框架设计因工具,脚本语言和AUT而异。现在,人们用perl,python,tcl/tk来做CLI的自动化。这种设计和做GUI测试的工具(QTP, Winrunner, Silktest, Robot, QARun等)有很大的区别。
你可以参考下面的链接,每个链接都给出了不同的自动测试框架组件集合
完全数据驱动自动测试http://link.fyicenter.com/view.php?ID=776
自动测试框架http://link.fyicenter.com/view.php?ID=601
113 如何得到float变量的小数部分,如何得到float变量的整数部分,有相应的函数么?
答案:可以通过下面的代码来解决该问题。
[ ] real rVal1=89.822 // 假设你的实数是 rVal1
[ ] integer iValue = [int]rVal1
[ ] real rVal2= rVal1-iValue
[ ] print(iValue) // 整数部分
[ ] print(rVal2) // 实数部分
114. 如何自动化.net的应用?
我在使用silktest7.5自动化.net应用,但是大多数控件无法被silktest识别。尽管我强制map
这些控件到标准控件,可是仍然不work…
答案:尝试去搞个.net extension吧…你需要为此另外付费…
115. 有办法解决这个问题么?
当我在点击新页面的link时(可能是同一个窗口,也可能是新窗口),窗口无法完全打开,也就是说,进度条会停止,最后程序会在180秒后超时。
一个workaround是增加程序的超时时间,然后等更长的时间。你们有更好的workaround么,有办法来解决这类问题么?
答案:尝试使用browser.StopLoading ( )吧,该方法会点击工具栏上的stop按钮。当浏览器没有响应时(进度条停止)。使用Browser.ForceReady(True)来和浏览器交互,当需要执行的动作完成后(这里是browser.StopLoading ( )..),然后再使用Browser.ForceReady(False)
Q116: 我想要验证点击链接后弹出来窗口的标题 …
在脚本中我没有使用 frame 文件,我动态地获取页面上所有的链接,然后点击其中一些特定名称的。我现在遇到的问题是,当我点击一个链接 ”x” ,它将会打开一个新的浏览器窗口。我想要验证新窗口的 title 。因为我没有使用 frame 文件,我发现很难得到新浏览器的窗口 title ,有什么办法解决么?
答案:尝试使用 GetCaption ()....
BrowserPage.Getcaption () 将会返回网页的caption/title. 然后比较吧..
对,你必须确保新窗口被激活:
BrowserPage.SetActive ()
BrowserPage.Getcaption ()
If
它的caption 和开始的页面不同,这就是你要找的新弹出的页面。
Else
Desktop.TypeKeys ("")
if BrowserPage.IsActive ()
得到caption 再进行比较
else
Desktop.TypeKeys ("")
这就就是个大致的算法,你需要用合适的循环来实现。这样才能独立于当前打开的窗口数目。
Q117: 当我想给浏览器 enable extensions 的时候,报下面的错误:
"Can't load helper qaphlpr.dll: The specified module could not be found."
我的问题是,是否以为着我必须重新安装SilkTest ,有workaround 么?
答案:检查要求的dll 是不是存在于SilkTest 的安装目录。
Q119. 需要在我的SilkTest 项目中使用相对路径,如何将绝对路径转换成相对路径?
需要在我的SilkTest 项目中使用相对路径,如何将绝对路径转换成相对路径?目的是,当打包一个项目的时候,希望它能运行在任何其他机器上,而不考虑具体的路径是什么。
答案1 :假设你有下面的文件结构:
C:/Test/Script/Script.t
C:/Test/WDec/WDec.inc
在script.t 文件中,包含了Wdec.inc ,代码如下:
use " C:/Test/WDec/WDec.inc" --> 绝对路径
use "../WDec/WDec.inc" --> 相对路径
答案2 :
我想如果你用silktest 项目的话,silktest 已经提供了解决方案。如果你的test 不是用project 的方式,那么最好的选择是在runtime 选项里面设置hardcoding 根目录
例如:让 Path = S:/Suite << 其中S 映射为自动测试集的根目录,然后用相对路径: 例如frame.inc, ../config/config.inc
SilkTest Q&A 12的更多相关文章
- 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 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 11
101. 如何从其他的机器访问脚本? 答案:将包含脚本的文件夹共享出来…非常简单…你可以使用connect()在你本机运行脚本从而使得它们在其他的一些机器上执行…但是其他人无法访问这些脚本,除非你将它 ...
- SilkTest Q&A 3
Q21:如何给testcase的属性赋值? A21: 1.确定你的testplan处于打开状态. 2.点击你准备赋属性值的testcase 3.点击TestPlan/detail菜单,testplan ...
随机推荐
- ASP.NET jQuery 随笔 显示CheckBoxList成员选中的内容
通过jQuery来获取CheckBoxList成员内容. <%@ Page Language="C#" AutoEventWireup="true" Co ...
- 微软http api说明书地址
https://msdn.microsoft.com/en-us/library/windows/desktop/aa364622(v=vs.85).aspx https://msdn.microso ...
- thinkphp 常用的查询
php 常用的数据库查询方式: //根据where 条件查询,使用select()方法 访问:http://localhost/thinkphp2/index.php/Machine/search_i ...
- C++ 自定义结构体和类 内存对齐
为什么要提出内存对齐? 比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如软件能保证double类型的数据都从8倍数地址开始,那么读或写一个doubl ...
- JavaScript 高级程序设计(第3版)笔记——chapter4:变量、作用域和内存问题
Chapter4 变量.作用域和内存问题 l 理解基本类型和引用类型的值 l 理解执行环境 l 理解垃圾收集 4.1基本类型和引用类型的值 l ECMAScript变量包含两种不同数据类型的值 ...
- material design是什么?(待以后学习)
1.它的各种示例:http://blog.csdn.net/cike110120/article/details/46572071 2.它的讲解:http://www.androidchina.net ...
- 域用户允许更改IP地址
1.在DC上设置不好使. 2.需在本地用户组里添加到network.......组里. 注意:有的时候,连接不到DC上,是由于DNS的事,需要先去掉不必要的dns地址. 添加完后,需要重启或注销. 另 ...
- [Swust OJ 842]--实验室和食堂(最短路,Dijkstra算法)
题目链接:http://acm.swust.edu.cn/problem/842/ Time limit(ms): 1000 Memory limit(kb): 10000 Description ...
- Android学习笔记:如何高效显示图片,避免内存溢出 和 ImageView无法显示大尺寸的图片
因为手机的内存资源是有限的,每个app可使用的内存是受限的.而现在采用高分辨率拍的照片往往很大.如果加载时不注意方法,很有可能会引起java.lang.OutofMemoryError: bitmap ...
- 提高mysql查询效率的六种方法
1,表设计一定要优化,冗余数据最少,少用连接查询.如果在实际应用中,使用了极其复杂的连接,子查询,则数据表的设计得要重新考虑了. 2,尽量用char而不是varchar,因为固定长度得string用起 ...