博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SilkTest入门快打2-编写脚本测试
阅读量:6483 次
发布时间:2019-06-23

本文共 2184 字,大约阅读时间需要 7 分钟。

在上一讲“”中,我们介绍了如何建立一个简单的SilkTest 项目 ,用它来测试WindowsXP 自带计算器的加法功能。在上一讲中,我们使用SilkTest 的录制回放功能来产生的脚本,虽然它可以地很好,但是采用录制回放的方法,会有一些局限。首先,由于录制回放总是操作原生对象,没有隐藏对象的细节,从而导致每行脚本都很长,不易阅读。其次,如果待测AUT 的GUI 发生了变化,那么很可能,你需要重新录制脚本,不利于已有代码的维护。所以这一讲中,我将介绍如何直接编写SilkTest 脚本 进行测试。

  我们仍然测试计算器的加法功能,首先像上一节一样捕捉计算器GUI 的定义,并在其基础上对其进行一定的修改。也就是将/,*,-,+,= 等按钮的定义名改成容易识别的名称:

  将

[+] PushButton N52
[+] multitag “?[5]”
[ ] “$90″
[+] PushButton N92
[+] multitag “?[9]”
[ ] “$91″
[+] PushButton PushButton20
[+] multitag “-”
[ ] “$93″
[+] PushButton PushButton26
[+] multitag “+”
[ ] “$92″
[+] PushButton PushButton27
[+] multitag “=”
[ ] “$112″

  改成:

[+] PushButton Div
[+] multitag “?[5]”
[ ] “$90″
[+] PushButton Mul
[+] multitag “?[9]”
[ ] “$91″
[+] PushButton Dec
[+] multitag “-”
[ ] “$93″
[+] PushButton Plus
[+] multitag “+”
[ ] “$92″
[+] PushButton Equal
[+] multitag “=”
[ ] “$112″

  这样,我们在脚本里面就可以用“计算器.Plus ”来表示加号按钮,而不是晦涩的“计算器.PushButton26” 了。

  除此以外,我们还需要将

[+] TextField TextField1
[ ] tag “$403″

  改成

[+] TextField CalResult
[ ] tag “$403″


 然后,我们新建一个WriteScript.t,里面写如下的代码:

[-] testcase Cal123Plus()   //1
[ ] 计算器.SetActive ()  //2
[ ] 计算器.C.Click ()    //3
[ ] 计算器.N1.Click ()  //4
[ ] 计算器.N2.Click ()  //5
[ ] 计算器.N3.Click ()  //6
[ ] 计算器.Plus.Click () //7
[ ] 计算器.N1.Click ()  //8
[ ] 计算器.N2.Click () //9
[ ] 计算器.N3.Click () //10
[ ] 计算器.Equal.Click () //11
[ ] String sResultValue = 计算器.CalResult.GetText() //12
[-] if(val(sResultValue) == 246)  //13
[ ] Print(“Passed: Expect 123+123=246, actually it is {sResultValue}”) //14
[-] else //15
[ ] raise 1, “Failed: Expect 123+123=246, actually it is {sResultValue}” //16

  我来解释一下这16 行代码的意思,其实他们做的事情,和上一讲的测试用例是一样的,就是验证123+123 的值等于246.

  行1 :定义一个名为Cal123Plus 的测试用例

  行2 :将当前激活的应用设为计算器,如果计算器这个程序没有运行,那么就先启动它,然后将其设为得到焦点的应用。

  行3 :先点击一下C 这个按钮,也就是清除上次计算的结果

  行4- 行11 :分别点击计算器上的123+123= 这八个按钮

  行12 :定一个字符串变量sResultValue ,把CalResult 控件中的文本值赋给它

  行13- 行16 :如果sResultValue 得数字值等于246 ,就打印测试成功,否则抛出一个异常,表明测试失败。没有异常处理程序紧接raise之后的话,默认情况下,SilkTest 将终止执行。

  好了,现在按F9 运行一下你新编写的WriteScript.t ,看看是不是通过了。

  然后,再将WriteScript.t 里面的246 改成247 ,然后运行,这时测试用例应该抛出一个异常,你的脚本执行结果是不是这样呢?

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

转载地址:http://qrbuo.baihongyu.com/

你可能感兴趣的文章
日本开设无人机专业,打造无人机“人才市场”
查看>>
190行代码实现mvvm模式
查看>>
兼容几乎所有浏览器的透明背景效果
查看>>
Linux VNC server的安装及简单配置使用
查看>>
阿里宣布开源Weex ,亿级应用匠心打造跨平台移动开发工具
查看>>
Android项目——实现时间线程源码
查看>>
招商银行信用卡重要通知:消费提醒服务调整,300元以下消费不再逐笔发送短信...
查看>>
数据库运维体系_SZMSD
查看>>
js的AJAX请求有关知识总结
查看>>
三分 POJ 2420 A Star not a Tree?
查看>>
修改OBS为仅直播音频
查看>>
OCA读书笔记(3) - 使用DBCA创建Oracle数据库
查看>>
Python基础进阶之路(一)之运算符和输入输出
查看>>
ClickStat业务
查看>>
spring3.0.7中各个jar包的作用总结
查看>>
Windows 10 /win10 上使用GIT慢的问题,或者命令行反应慢的问题
查看>>
iOS自定制tabbar与系统的tabbar冲突,造成第一次点击各个item图片更换选中,第二次选中部分item图片不改变...
查看>>
我的路上
查看>>
DB2与oracle有什么区别
查看>>
创建一个多级文件目录
查看>>