天天看点

WinRunner测试设计(2)

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1583655

WinRunner测试设计(2)

1、使用Context Sensitive Recording来创建测试

它根据GUI对象来创建测试。在录制期间,WinRunner识别每一个你点击的GUI对象(例如窗口,按钮或列表)和执行的操作(如拖放,点击,选择)。

例如:你在一个Open对话框中点击Open按钮,WinRunner将记录如下:

button_press("Open");

弹出的对话框每一次的位置有可能不同,但你不必担心,因为WinRunner能正确识别它。

要记住Context Sensitive测试总是连同GUI map和GUI map文件一起工作的。

下面的例子说明了测试脚本和GUI map的连接。它还说明了逻辑名和物理描述之间的连接。假定你录制一个测试,你要打印一个readme文件,通过在file菜单中选择print命令来打开对话框,然后点击OK按钮。脚本如下:

#Activate the Readme.doc-WordPad window.

win_activate("Readme.doc-WordPad");

#Direct the Readem.doc-WordPad window to receive input.

set_window("Readme.doc-WordPad",10);

#Choose File>Print.

menu_select_item("File;Print...Ctrl+P");

#Direct the Print window to receive input.

set_window("Print",10);

#Click the OK button.

button_press("OK");

WinRunner试着把属性列表和它们的值(为涉及到的每一个对象)写入GUI map的描述中。

当打开GUI map和高亮显示的对象时,你能看到相应的物理描述。

WinRunner为其它窗口和对象写下面的描述进GUI map中:

File menu:{class:menu_item,label:File,parent:None}

Print command:{class:menu_item,label:"Print...Ctrl+P",parent:File}

Print window:{class:window,label:Print}

OK button:{class:push_button,label:OK}

WinRunner还能为每一个对象分配一个逻辑名。当WinRunner运行测试时,它读入测试脚本的每个对象的逻辑名,并在GUI map中引用它的物理描述。WinRunner使用这个描述来查找被测试应用程序的对象。

要录制Context Sensitive mode的测试:

1)选择Test菜单下Record-Context Sensitive,或者点击Record-Context Sensitive按钮;

2)用键盘和鼠标执行所计划的测试;

插入检查点和同步点作为选择适当的命令所需,或从Insert菜单:GUI检查点,Bitmap检查点,Database检查点等。

3)停止录制,点击Test菜单下的Stop Recording,或者点击Stop。

WinRunner没有为你的对象录制适当的TSL语句:

1)增加未装入的支持对象插件;

例如:对于HTML对象,你必须载入WebTest插件。

2)对象是一个定制类对象。

如果定制对象和标准对象相似,你可以map定制类到标准类;

你可以增加一个定制GUI对象类;

你可以创建定制录制和可执行函数。

WinRunner不能从HTML页面中读取文本:

1)WebTest插件未能安装;

2)在HTML框架或table中,WinRunner不能识别作为原始输入的文本;

2.1)使用Insert菜单下的Get Text下的From Selection(Web only)命令来检索HTML页面上的文本。

对于一个框架,WinRunner将插入一个Web_frame_get_text语句;

对其它GUI对象类,WinRunner将插入一个web_obj_get_text语句。

2.2)使用Insert菜单下的Get Text下的Web Text Checkpoint命令来检测是否一个指定的文本字符串在HTML页面上存在。

对于一个框架,WinRunner将插入一个Web_frame_text_exists语句;

对于其它GUI对象类,WinRunner将插入一个web_obj_text_exists语句。

继续阅读