SilkTest支持两种测试模式,一种是用classic agent,另一种就是用我们今天要介绍的open agent. open agent可以提供和classic agent差不多的录制回放功能。它们主要的差别在于所支持的对象类型,了解这些差别对于需要手工编辑的test case很有用。

classic agent支持的应用类型包括:
Windows Forms
Java AWT applications
Java SWT/RCP applications
Java Swing applications
Windows API-based client/server applications
Powerbuilder applications
web applications
Web with ActiveX/Visual Basic applications
Java Applets

open agent支持的应用类型包括:
Adobe Flex
Windows API-based client/server applications
Java SWT/RCP applications
Windows Presentation Foundation (WPF) applications
xBrowser applications

需要注意的是open agent不支持下面这些record菜单下的功能,window location, class/scripted, class/accessibility,
method, defined window.

当你使用silktest的2008版本建立project的时候,向导会显示每种project类型使用的默认agent,不过这个是可以在运行case的
时候进行相应的更改。你可以在工具栏上选择想用的agent,也可以通过runtime Option来进行更改。
下面我用open agent来测试一下我们熟悉的老朋友,windows xp系统自带的计算器。下面是具体的步骤:
1. 先从附件中运行计算器
2. 打开silktest 2008,新建一个project "openagent",可以简单地选择类型为generic->open agent
3.选择basic workflow, 然后点击工具栏上的enable extensions,然后在弹出的对话框中选择列出来的计算器应用,它的name应
该是calc.exe。在click对话框下面的"enable extensions"按钮后就可以close对话框了。
4.新建一个test frame,在弹出的对话空中选择计算器应用,然后点击OK按钮。这个时候,计算器的定义会被存储在默认的
frame.inc文件中。
5.关闭计算器
6.新建一个calc_test.t,在其中输入如下的代码。
[-] testcase calc_test()
[ ] 计算器.SetActive()
[ ] 计算器.Close()
7.运行,你会发现用open agent运行一个testcase也很容易。

SilkTest天龙八部系列6-用open agent进行测试的更多相关文章

  1. SilkTest天龙八部系列4-ChildWin

    一直觉得SilkTest的ChildWin不好理解,今天大致看了一下,其实它和DialogBox每啥区别,也是一种window类型.帮助里面说,典型的ChildWin就是文档窗口.在Windows上, ...

  2. SilkTest天龙八部系列1-初始化和构造函数

    SilkTest没有提供专门的构造函数机制,但是在类对象生成的过程中,会先初始化在类中申明的变量.我们可以在初始化该变量的时, 调用某些函数完成对象初始化工作,看上去好像是调用了构造函数一样.不过要记 ...

  3. SilkTest天龙八部系列3-动态父窗口

    SilkTest中用parent语句来声明某个window的父窗口,这会帮助silktest在识别该对象时检查其是否是由该父窗口打开,如果parent语句申明的父窗口并不存在,那么该对象无法被正确识别 ...

  4. SilkTest天龙八部系列5-类的属性

    SilkTest的面向对象机制让用户可以为类定义属性,用property语句实现.除此以外用户在类中还可以定义成员变量和不可变的setting属性.也就是是说Silktest类中可以有以下三种属性/变 ...

  5. SilkTest天龙八部系列7-动态对象识别

    在测试web应用时,我们常常需要面对web页面对象变化频繁,并且使用预定义方式识别对象慢的困难.为了解决这些问题,SilkTest引入了dynamic object recognition技术,它使用 ...

  6. python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda

    ---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...

  7. elixir 高可用系列(一) Agent

    概述 elixir 本身是一种 immutable 的语言,默认情况下,进程间是不共享任何状态的,进程之间通过消息来交互. 而 Agent 则封装了一种进程间共享状态的方式,通过这种方式,不用显式的写 ...

  8. Selenium私房菜系列5 -- 第一个Selenium RC测试案例

    <Selenium简介>中讲过,Selenium RC支持多种语言编写测试案例,如:C#,Python.在工作中,我倾向于是用Python这类动态语言编写测试案例,因为这样的测试案例无需编 ...

  9. Jmeter系列(39)- Jmeter 分布式测试

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 为什么要做分布式 Jmeter 本身的 ...

随机推荐

  1. 滚动条QScroolBar实现滚屏功能(屏幕过大,覆盖wheelEvent来处理滑轮事件)

    环境:Qt5 编译器:Qt Creator 需求:如图 显示区域win 600*300 需要显示的Widget控件show 590*550 则有600*250的show界面无法显示 使用滑块控制sho ...

  2. Error inflating class android.support.v7.widget.Toolbar

    建立程序的时候出现的错误 style.xml中的 <!-- Base application theme. --> <style name="AppTheme" ...

  3. nodejs学习笔记_nodejs和PHP在基础架构上的差别--共享状态的并发

    绝大多数对于Node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明确node内部做出的权衡,以及node应用性能好的原因. node 为javascript引入了一个复杂的概念,: ...

  4. linux之grep用法

    运用场景:在当前目录下查找,比如代码目录,不需要在.svn目录下,以及ctags生成的tags文件中查找: grep的--exclude-dir=参数就是为了排除某个目录的,即不包含等号后面的目录: ...

  5. ajax不执行success回调而是执行了error回调

    最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数.   附上代码如下: JScrip ...

  6. HTML之标签

    一.HTML 标签 HTML 标记标签通常被称为 HTML 标签 (HTML tag). •HTML 标签是由尖括号包围的关键词,比如 <html> •HTML 标签通常是成对出现的,比如 ...

  7. Enze fifth day(循环语句2)

    又是新的一周开始了,我还在云和学院继续学习.因为想要急切的想学会更多的知识,所以我有些急.可是我越急就越容易出错,这应该就是所谓的欲速则不达吧.这一周,我要重新把控好自己的一切,尽我最大的努力来学习! ...

  8. STL之set和multiset(集合)

    set和multiset会根据特定的排序准则,自动将元素进行排序.不同的是后者允许元素重复而前者不允许. constructing sets #include #include using names ...

  9. 关于MyEclipse启动时的插件启动(Maven4MyEclipse)

    在myEclipse的应用中有许多插件在开发的时候都用不到,那么,这些插件在启动myEclipse的时候一起启动的越少越好了 Maven4Myeclipse update 每当启动myEclipse的 ...

  10. Dojo实现Tabs页报错(三)

    用Dojo实现tab页的过程中,没有引用“on.js”,但是firebug调试时一直提示如下错误: on.js源码如下: define(["./has!dom-addeventlistene ...