51Testing软件测试论坛

标题: 该如何去学习WINRUNNER [打印本页]

作者: weixiao666    时间: 2010-8-24 19:58
标题: 该如何去学习WINRUNNER
刚刚从事这一方面,但看了好久,还是不知道该如何着手,请大家赐教。
作者: TIB    时间: 2010-8-24 20:21
主要还是看帮助文档,找些例子实践一下
作者: weixiao666    时间: 2010-8-26 20:08
哦,好的,谢谢。
作者: 愚人    时间: 2010-8-26 22:52
要深入了解其原理及实现方式,然后就是实践了……
作者: msnshow    时间: 2010-8-27 13:29
不是早被QTP替代了么,没必要再学这个了吧
作者: weixiao666    时间: 2010-8-30 19:47
WINRUNNER 和QTP的用法不知道是否相同?目前只有WINRUNNER 所以才从它开始。得学多久可以掌握呀?
作者: PrefTest    时间: 2010-8-30 21:00
工具的功能都大致相同,但是使用方式各异

掌握工具本身的使用很快,但是实际应用到项目中就有一大段距离了
作者: 愚人    时间: 2010-8-30 22:26
原帖由 weixiao666 于 2010-8-30 19:47 发表
WINRUNNER 和QTP的用法不知道是否相同?目前只有WINRUNNER 所以才从它开始。得学多久可以掌握呀?

工具好比手中的兵器,还是先大好基础吧……
作者: funjackyone    时间: 2010-8-30 22:53
标题: :victory: :victory: Learning
I Love This Subject,thanks for your sharing
作者: 楠族开心果    时间: 2010-8-31 08:28
1. Lesson_1介绍
略,请参考 《WR_中文介绍》pdf格式文档
有关介绍[参]:Lesson1_1.doc

2. Lesson_2Setting up WinRunner
描述 WinRunner 如何在一个应用程序中识别图形用户界面(GUI)属性
演示如何使用(图形用户界面间谍)GUI SPY 查看对象属性
描述二个(图形用户界面)GUI地图模式
解释该如何使用 RapidTest Script Wizard 去获得GUI属性的描述和生成测试
如何运行一个测试
帮助你分析测试结果

什么是GUI对象?(窗口window、按钮button、菜单menu、列表list)
如何应用WinRunner查看GUI对象属性和值?(TOOLSGUI SPY….)具体例子[参]lesson2_1.doc:
GUI Map模式?(有两种A、The GUI Map File per Test Mode;B、The Global GUI Map File Mode)

The GUI Map File per Test Mode The Global GUI Map File Mode   
创建一个测试,便生成一个GUI Map文件 创建一个GUI Map文件供一组测试使用   
初手(刚刚开始) 熟手   
注意:切换模式时,要退出程序重新运行WinRunner,才能使改变生效
在The GUI Map File per Test Mode模式下,关闭WinRunner前会提示你保存文件;在The Global GUI Map File Mode模式下,系统会自动保存文件。  
具体例子[参]:Lesson2_2:
RapidTest Script Wizard功能(具体例子[参]:Lesson2_3)可以快速、容易地开始测试过程(录制GUI Map文件)??。只适用于The Global GUI Map File Mode模式下。
注意:1、不能在The GUI Map File per Test Mode模式下使用此功能。
      2、不能在加载其他插件(如:WEB TEST,Java Add_in)的情况下使用此功能。

3. Lesson_3记录测试
描述上下文敏感(Context Sensitive)和类似(Analog)记录模式
如何记录一个测试脚本
帮助你读测试脚本
如何运行被记录的测试并且分析结果

1、有两种不同的记录模式:A、Context Sensitive;B、Analog
(录制时产生的脚本记录是不同的) 各有特点:

Context Sensitive Analog   
应用程序只考虑GUI对象(菜单、按钮) 应用程序考虑位图(BMP图画)精确定位,如:绘图线条走向   
不需要精确的鼠标运动轨迹 需要精确的鼠标运动轨迹   
计划在应用程序的各个版本中应用(回归)     
Button_Press(“OK”);//脚本 Move_lactor_Track(1);
Mtype(“-“);
Mtype(“”);//脚本   
提示:F2是两种记录模式的切换快捷键  
具体例子[参]:Lesson3_1:
2、TSL(测试脚本语言)解释。(具体例子[参]Lesson3_2)
3、录制不同GUI Map模式下的测试时,应该注意哪些?(注意保存GUI Map文档)
运行测试脚本。(3种运行模式:1、Verify;2、Debug;3、Update)具体例子[参]Lesson3_3.
运行一个测试脚本去检查应用程序的行为并保存测试结果时,采用Verify模式;
运行测试脚本检查是否运行平稳并且没有语法上的错误,可采用Debug模式,详细信息参考本文档Lesson7部分。
当你想为GUI检查点或位图(Bitmap)检查点创建一个新的预期结果,可采用Updata模式,详细信息参考本文档Lesson5和Lesson6部分。
分析测试结果(图解框)具体例子[参]Lesson3_4
录制技巧:
(A、 开始录制前,(B、 关闭不(C、 是测试对象的应用程序;
(D、 测试运行有始有终,(E、 即有打开,(F、 便要有关闭。(保证同(G、 名(H、 测试的重复(I、 运行);
(J、 当运行在Analog模式下,(K、 尽量避免控制鼠标,(L、 用箭头运行代替;
(M、 在录制期间,(N、 切(O、 换Context Sensitive模式到Analog模式时,(P、 一定要将当前的窗口移到桌面上新的位置,(Q、 确保在Analog模式下运行测试时,(R、 鼠标(S、 能够精确定位。
(T、 在录制时,(U、 如果鼠标(V、 击中的不(W、 是标(X、 准GUI对象,(Y、 测试脚本中将加入一个声明:OBJ_MOUSE_CLICK。例如:你单击一个图像,(Z、 脚本中将作如下描述:OBJ_MOUSE_CLICK(GS_DRAWING,(AA、 8,53,(BB、 LEFT)。有关其他高级操作请参考用户手册“Configuring The GUI Map”部分。
(CC、 如果你工作在The Global GUI Map File 模式下,(DD、 然后你单击一个先前没有learns过的对象,(EE、 winRunner将 leans此描述,(FF、 并加入到临时的GUI map文件。(H也作此具体陈述)
(GG、 切(HH、 换Context Sensitive模式到Analog模式,(II、 请按快捷键F2。
(JJ、 如果你工作在The Global GUI Map File 模式下,(KK、 在关闭WinRunner之前,(LL、 总是检查是否新的对象加入到临时的GUI map文件中,(MM、 如果已经加入,(NN、 请将其保存为适当的GUI map文件,(OO、 你供你将来测试使用(在lesson3_2中有仔细描述)。
作者: 楠族开心果    时间: 2010-8-31 08:29
4. Lesson_4同步测试
什么时候你需要一个同步测试?(A、从数据库中重新获得信息(需要等待);B、等待一个窗口的弹出;C、等待程序进度条达到100%;D、等待一个状态信息框的出现)
WinRunner通过一个设置好的间隔时间来为等待应用程序响应输入。默认的间隔时间上限为10秒。如果应用程序在运行测试过程中响应缓慢,那么WinRunner的默认间隔时间将不够,将导致测试运行意外失败。
如果你在测试过程中发现一个同步问题,那么有两种方法来解决。
怎样解决同步问题?(有两种办法:A、选项中设置(增大默认的间隔时间:毫秒),怎样设置???;B、在测试脚本中插入“同步点”,如何操作???) [参]具体例子Lesson4_1:
你如何使测试同步?( 具体例子[参]Lesson4_2.TXT(先)和Lesson4_2.DOC(后))      一个为失败的例子;一个为成功的例子。
你如何做一个同步测试并且核实结果?[参]Lesson4_3.doc 。
(将Lesson4_2的例子运行,得出结果,在测试结果窗口,你可以看到主要事件中有OBJ_wait_bitmap的执行状态是绿色的,Pass)

5. Lesson_5检查GUI对象
解释如何检查GUI对象的行为?(设置GUI检查点,检查1、字段内容值;2、单选按钮是打开还是关闭;3、按钮是否处于激活状态)
我们平常运行一个应用程序,是通过GUI对象的行为来测定功能是否(与需求)一致。
检查GUI对象可以通过创建GUI checkpopints来实现,一个GUI Checkpoints可以检查一个GUI对象属性的行为。(字段、CheckBox、是否激活状态)
如何去建立一个检查GUI对象行为的测试?具体例子[参]Lesson5_1
如何去运行一个测试在一个程序的不同版本下,并且分析结果?具体例子[参]Lesson5_2,并分析结果。
插入GUI Checkpoint技巧:
1)、你可以在你的录制脚本中插入单独的GUI检查点去检查一个窗口的几个属性或所有的属性。选择Create>GUI Checkpoint>For Multiple Objects。当Create GUI Checkpoint对话框打开,你可以增加属性检查点并为这些你想要执行的属性检查点作描述。操作完毕,脚本中将产生一个Win_Check_Gui的声明,它包括你所选中的属性的检查列表。
2)、为了让测试通宵运行。你可以设置让WinRunner检查到Checkpoint的不匹配项时不弹出信息框。选择Settings>General Option,在General Option对话框,选中Run页面,清除Breaken when verification fails的复选框。这将使测试在运行时不会中断。

3)、如果你想为GUI Checkpoint创建一个新的预期值,可以运行脚本在Update Mode。WinRunner将用捕获到的新的GUI 数据值覆盖已经存在的预期值。
4)、捕捉对象属性时,单击为直接在脚本中插入Obj_GUI_Check语句;双击为显示选中对象的属性,查看选择后再确定是否插入OBJ_GUI_Check语句。


6. Lesson_6检查位图
解释该如何在你的应用程序中检查位图图像
如何产生一个检查位图的测试
如何运行测试在应用程序的不同的版本中比较位图
帮助你分析结果
你怎样去检查位图(BitBmp)
如果你的应用程序包含位图,例如图画或图表,你可以使用Bitbmp Checkpoint来检测这些区域。一个Bitbmp Checkpoint通过像素来捕获位图像素。去创建一个Bitbmp Checkpoint检查点,你可以指定你想要检测的图的一部分,窗口,属性。例如:WinRunner能捕获位图并将它保存为期望结果。如果它捕获一个对象,将在脚本中插入Obj_check_bitmap声明;如果它捕获的是图的一部分或是窗口,脚本将插入win_check_bitmap声明。
当你在一个新的版本中运行测试时,任何一点不匹配被检测到,那么在WinRunner的运行结果窗口,你能看到一幅(与预期结果)不同的图。
2、在测试脚本中添加一个Bitmap checkpoint。具体例子[参]Lesson6_1
3、插入Bitbmp Checkpoint技巧:
1) 捕捉一个区域,2) 可通过选择Create>Bitbmp point>for screen area功能来实现。用户工具条上也有此按钮。(要看到菜单按钮,3) 测试必须处于打开状态,4) 不5) 管它是否停止)。使用十字焦点去捕捉WinRunner所要的位图区域。脚本中将插入Win_Check_bitbmp语句。所带参数将包含有X、Y的坐标6) 数据和图像宽与高的信息。
7) 为了通宵运行测试,8) 你可以让Winrunner在运行时不9) 管它是否匹配都不10) 弹出信息框。选择Setting >General options.出现下图,11) 将Breakn  When  verification fails前面的复12) 选框去掉。这将让你的运行不13) 会产生中断。
14) 当运行一个包含Bitbmp的测试时,15) 要确信屏幕上所出现的与创建脚本时所捕捉的图像是同16) 样的。如果屏幕设置不同,17) Winrunner将会报告一个Bitbmp不18) 匹配。
19) 如果你想去建立一个新的期望值,20) 你可以运行脚本在Update模式下。当一个新的预期位图被捕捉,21) 它将覆盖已经存在的预期位图。
4、运行脚本在不同的版本中检查位图。具体例子[参]Lesson6_2
作者: 楠族开心果    时间: 2010-8-31 08:29
7. Lesson_7用TSL(脚本语言)测试
如何使用可视化编程把功能增加到你的测试脚本中
如何增加决策逻辑在一个测试脚本中
帮助你调试一个测试脚本
让你运行测试脚本在应用程序的一个新的版本上且分析结果
当你录制一个测试的时候,在你每次点击GUI对象或从键盘录入时,WinRunner都将产生TSL声明在你的测试脚本中(TSL:Test Script Language)。除了记录TSL功能,TSL还包括许多能让你的测试脚本更加强大和具有弹性的内置功能。你可以使用WinRunner可视化编程工具迅速地添加这些功能,使用功能产生器(Function Generator)。功能产生器的所有功能在TSL在线帮助手册中均有说明。
功能产生器(Function Generator)使你能够通过两种途径去增加TSL功能。(P104)
1、你可以指向一个GUI对象,让WinRunner给你一个“建议”的功能。你可以把这个功能插入到你的测试脚本中。
你可以从列表中选择一个功能。功能按类别和字母索引出现在列表中。
你可以通过增加逻辑(Logci)来提高测试脚本的可用性。只需一些简单的编程基础,如:条件语句,循环语句,和一些算法操作,直接写到测试窗口中去。
具体例子[参]Lesson7_1
调试测试脚本,具体例子[参]Lesson7_2
利用编程基础提高了测试可用性后,你可能想去检查测试运行是否稳定,是否存在语法错误或逻辑错误,WinRunner提供了调试工具,让这个过程变得快速且容易。你可以:
使用步命令(Step Command)让你的测试一行一行执行;
在测试脚本中定义中断点,可以让测试停止运行在一个指定的行或功能。
管理变量值或公式使用Watch List。
当你调试一个测试脚本,你可以运行测试在“调试”模式。(运行一个测试在调式模式,在标准工具栏上的运行模式列表中选中Debug模式)测试结果将保存在一个调试的目录下,每次执行都覆盖上一次的调试执行结果。
在不同的版本上运行测试脚本,具体例子[参]Lesson7_3


8. Lesson_8建立数据驱动测试
如何去使用DataDriverWizard去创建一个数据驱动测试
解释该如何使用合格的表达式作为每一次反复测试并改变的GUI对象的名字
重复运行一个测试并分析结果
怎样创建数据驱动测试?
    一旦你已经成功地调试并运行了测试,你可能就想看看相同的测试怎样用多组数据来执行。为了实现它,把你的测试转换成一数据驱动测试并且创建一个相关数据表记录其中包含你想测试的数据集。
   把测试转换成数据驱动测试包括下列步骤:
添加打开和关闭数据表的声明到你的脚本中。
在你的测试中增加声明和函数,以致能从数据表中读取并循环运行每一组       数据。
在已记录的脚本中替换固定值并用参数设置检查点,即所谓的参数化测       试。
    你可以用(DataDriveWizard)数据驱动导航把你的测试转换成数据驱动测试或手动修改脚本。
    当你运行数据驱动测试时,WinRunner为数据表中每组数据运行一次参数化的测试部分(叫做循环),然后在单个测试结果窗口显示所有迭代的结果。
在Lesson7中你创建了一个打开一具体飞机票预定并读出票数,每张票的价格和一张传真定单对话框总价格的测试,以便检查总价格是否正确。在这一课中为了检查你的应用程序能否为不同数量和不同机票单价计算出正确的价格,你将创建一个在几张飞机票定单中执行相同检查的测试.
[参]Lesson8.doc
数据驱动技巧:
你可以只对测试脚本的一部分设置参数化或只设置一个循环,并且一个数据驱动测试可以包含超过一个的参数化循环。
在测试过程中,除了default.xls, 你可以打开和关闭多个数据表。这使你能够在一个测试脚本中使用不同的数据表。
你可以参数化多个类型,包括:GUI Checkpoint(GUI检查点),Bitmap Checkpoint(位图检查点),Bitmap Sysnchronization Point(位图同步点)和常量。
你能将数据表当做电子数据表一样的使用,包括在单元格在插入公式。
在运行数据驱动测试之前,你必须检查它,看是否有些元素会导致冲突在你的数据驱动测试里中。有两种办法解决:
1. 使用正确的表达式让WinRunner认可此对象,2. 基于它物理描述的一部分。
3. 使用GUI map Configuration对话框,4. 改变其中的物理描述,5. 让WinRunner去接受有问题的对象。
在测试运行期间,你能通过TSL声明改变激活的行,或读取没被激活的行。更多的帮助……
你运行测试时,没有必要去打开数据表阅读器。

9. Lesson_9读取文本(Text Checkpoint)
作者: weixiao666    时间: 2010-9-8 20:14
标题: BUG确认?
请教一下:提示框内容是正确的,但是上面有红叉,算不算是BUG?
作者: weixiao666    时间: 2010-9-8 20:27
标题: 关于测试用例
对于一个测试用例中的内容如何确定?比如次窗口包含姓名、性别、出生日期、电话、邮箱等输入内容和选择内容。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2