SilkTest入门快打4-appstate
来源:互联网 发布:旺旺淘宝网 编辑:程序博客网 时间:2024/04/29 21:13
[-] testcase CalWithFunction()
[-] String Cal1Plus2()
现在我们考虑一下,如果去掉行2/3,会有什么问题?答案是可能会出现问题:在计算器应用打开的情况下,如果计算器上已经输入了一个数值,这时由于testcase 没有按C进行清零,导致测试无法通过。也就是说,每次在进行测试之前,将计算器清零是一个前置条件。我们一方面可以继续保留行2/3在testcase 里面,或者我们还可以将它们抽取出来作为一个appstate 进行声明。当然,我们这个case运行的前置条件很简单,只有这两步,看不出appstate有什么优势。实际上,在企业级的应用测试开始前,待测应用可能需要很多步才能进入待测状态,比如要先将待测软件置于某种特殊的状态(打开特定的菜单,关闭不需要的窗口等等)。这时,如果我们能把这些准备工作抽取出来封装成一个appstate就可以为多个testcase 所公用,在一处所做的修改,处处都可以生效,既减少了重复的代码,又便于维护。所以appstate是非常有用的,我们可以把CalWithFunction.t 重构成为如下:
[-] testcase CalWithFunction () appstate PrepareCal //1
[-] String Cal1Plus2()
[-]appstate PrepareCal() basedon DefaultBaseState //2
我简单解释一下,行1 指定了PrepareCal 为testcase 的开始状态,你可以简单理解成在testcase开始前,必须运行PrepareCal 这段代码。而行2 声明了PrepareCal 是一个appstate,它的父状态是DefaultBaseState 。DefaultBaseState 是SilkTest 系统默认的appstate。一个appstate 的父状态表明,testcase 进入该appstate 之前必须先进入它的父状态。对于我们这个case来说,SilkTest 在运行testcase 之前就先设置自己的状态为DefaultBaseState,然后再设置自己的状态为PrepareCal ,然后才开始从String sResultValue = Cal1Plus2()执行。
动手运行一下,看看效果如何。
- SilkTest入门快打4-appstate
- SilkTest入门快打4-appstate
- SilkTest入门快打4-appstate
- SilkTest入门快打4-appstate
- SilkTest入门快打5-深入appstate
- SilkTest入门快打5-深入appstate
- SilkTest入门快打5-深入appstate
- SilkTest入门快打5-深入appstate
- SilkTest入门快打1-录制回放
- SilkTest入门快打7-异常处理
- SilkTest入门快打1-录制回放
- SilkTest入门快打7-异常处理
- SilkTest入门快打系列1-录制回放
- SilkTest入门快打系列1-录制回放
- SilkTest入门快打系列2-编写脚本测试 .
- SilkTest入门快打6-使用类和对象
- SilkTest入门快打系列7-异常处理
- SilkTest入门快打2-编写脚本测试
- cookie---点击流数据库
- silktest 2008 下载及破解方法 Sil…
- [转]自动Enable SilkTest Extensio…
- SilkTest入门快打系列2-编写脚本测…
- SilkTest入门快打系列3-函数与原生…
- SilkTest入门快打4-appstate
- MFC控件:listbox控件用法详解
- SilkTest入门快打5-深入appstate
- SilkTest入门快打6-使用类和对象
- SilkTest入门快打系列7-异常处理
- silktest 关闭进程的方法
- silktest 通过递归实现文件搜索的…
- XP与WIN7之间的共享设置
- 1607:Unable to install InstallSh…