WinRunner的Add-In
载入Add-Ins实际上是将在Add-In中的特殊的函数装载到内存中。当创建测试脚本时,只有这些选中的Add-In中的函数会列在函数生成器中,在运行脚本时,只有那些在载入的Add-In中的函数可以被执行,否则WinRunner将会给出一个不能识别函数的错误信息。
WinRunner的验证点(Checkpoint)
验证点可以把被测应用程序的当前行为和早前版本的行为进行比较。
在WinRunner中有4种验证点:
· GUI checkpoints:验证GUI对象的信息。例如,你可以检查一个按钮是否可用或查看在一个列表中哪一个选项被选中。
· Bitmap checkpoints:给窗口或所测试应用程序的部分做快照,并把它和早先版本中捕捉的图像做比较。
· Text checkpoints :在GUI对象或位图中读取文字,使你可以验证它们的内容。
· Database checkpoints:基于你创建在的查询,检查一个结果集的内容和列、行的数量
Checklist文件包含了我们正在验证的对象的属性和相关信息 。gui*.chk文件包含了期望的结果,并储存在exp文件夹中。
同步点(synchronization points)
同步点使你可以解决预期的在测试脚本和你应用程序之间的时间问题。例如,如果你创建一个打开数据库应用程序的测试脚本,你可以增加一个同步点以让测试脚本等待直到数据库中的记录载入到屏幕上。
对于模拟测试(Analog testing),你也可以使用一个同步点来确保WinRunner在一个指定的位置重新放置窗口。当你运行一个测试脚本时,鼠标指针沿着准确的坐标行进。重新放置窗口使鼠标指针接触到窗口中正确的元素。
编译模块(compile module)
编译模块实际上也是一种脚本,只不过它包含了一个可以被其它的测试脚本频繁地调用,用户自定义函数集的库文件。当你载入一个编译模块时,它的函数将自动的被编译并保存在内存中。其它的测试脚本可以直接调用它们。
编译模块可以改进脚本的组织和性能。由于你在使用它们之前已经调试过编译模块,因此你的测试脚本只需要少量的错误检查。另外,调用一个已经编译的函数明显地比解释测试脚本中的函数快得多。
当编译模块用来储存可重用的函数时,测试脚本包含了在WinRunner中的可执行文件。编译模块是不可执行的。
在保存为编译模块时,WinRunner会自动执行一次预编译。
默认情况下,包含TSL代码的模块的属性是“main”。主模块可以在的模块中被调用执行。除了当WinRunner识别到一个“call”语句时,主模块会被动态地被编译为机器代码。例如: call cso_init();
call( "C:\\MyAppFolder\\" & "app_init" );
编译模块被载入到内存中以便其他模块引用。 reload ("C:\\MyAppFolder\\" & "flt_lib") 或load ("C:\\MyAppFolder\\" & "flt_lib");
数据驱动测试(data driven tests)
当你测试你的应用程序时,你或许想检查它如何执行有着大量数据集的相同操作。你可以用一个运行10次的循环来创建一个数据驱动测试:每次循环运行时,它由不同的数据集驱动。为了使WinRunner 能够使用数据来驱动测试,你必须将数据连接到所要驱动的测试脚本。这就叫参数化(parameterizing)你的测试。数据存储在一个数据表格(data table)中。你可以手工执行这些操作,或使用DataDriver Wizard来参数化你的测试脚本并储存数据在数据表格中。
数据驱动测试的步骤如下:
· 创建一测试脚本
· 转换为数据驱动的测试脚本并准备一个数据库
· 运行测试脚本
· 分析测试结果
无法识别GUI对象的原因
WinRunner会由于以下多种原因导致不能识别GUI对象。
·不是标准的Windows对象
·没有安装所需的Add-In
·如果所使用的浏览器和WinRunner的版本不兼容,GUI Map编辑器将不能认识在浏览器窗口中显示的任何对象
启动文件(start up file)
在General Options ->Environment-> Startup文本框中,选择或输入你希望作为启动文件的 测试脚本
输入测试脚本的相关信息
在创建一个测试脚本之前,你可以在Test Properties-> General和 Descrīption中输入和脚本相关的信息,如被测功能的类型,测试脚本的详细描述,引用的相关功能说明书文档
如何处理定制对象(custom objects)
定制对象是不属于WinRunner所使用的标准类之一的任何GUI 对象。WinRunner学习此类的对象为generic "object"类。WinRunner利用obj_mouse_语句来记录在定制对象的操作。
如果定制对象和一个标准的对象很相似,你可以映射它为标准类别之一。你也可以在环境判断测试(Context Sensitive testing)时配置WinRunner用于识别定制对象的属性。
什么是虚拟对象(virtual object)并且如何使用它们?
应用程序可能会含有一些外观和行为和GUI对象相似的位图。WinRunner利用win_mouse_click 语句来记录操作。通过定义一个位图对象为虚拟对象,当你录制并运行测试时,你可以教WinRunner将它象一个GUI对象一样对待。
文章来源于领测软件测试网 https://www.ltesting.net/