1第1章以WinRunner执行测试,就与人工测试一样,WinRunner会仿真鼠标的动作与键盘的输入,当在软件操作中点击GUI对象时,WinRunner会使用一种类C的测试脚本语言TSL生成一个测试脚本。测试人员可以手工编辑脚本。WinRunner包括的功能生成器可以帮助用户快速简便的在已录制的测试中添加功能。WinRunner有两种录制测试的模式:1.环境判断模式2.模拟模式环境判断模式根据用户选取的GUI对象将用户对软件的操作动作录制下来,并忽略这些对象在屏幕上的物理位置。每一次对被测软件进行操作,测试脚本会描述用户选取的对象和操作动作。第2章WinRunner安装2.1WinRunner8.0安装2.1.1安装步骤下面以WindowsXP为例介绍如何安装WinRunner8.0。在获取到WinRunner8.0的安装包后,就可以运行安装包进行安装,如图所示。23Name::1234-5858585858或8888-585858585845此处可以修改安装路径678安装结束。2.2WinRunner基础知识2.2.1winRunner程序界面在学习创建测试之前,先了解一下winRunner的主界面。执行【开始】-【程序集】-【WinRunner】-【WinRunner】,首先开启WinRunnerAdd-inManager窗口。9WinRunnerAdd-inManager显示你目前可以使用的Add-in,我们现在介绍的是并没有使用任何Add-in,所以请确认没有勾选任何Add-in后按下【OK】按钮。欢迎界面,选择CreateaNewTest。102.3WinRunner工作流程1.识别应用程序的GUI对象2.建立测试脚本3.对测试脚本出错debug4.在新版应用程序执行测试脚本5.检视测试结果6.回报缺陷defect2.3.1设定GUIMap一般的Windows应用程序,通常是由窗口,菜单,list和按钮等所组成,而这些在WinRunner中成为GUI对象。WinRunner会透过这些GUI对象的属性,如class,label,wedth,height,handle与enabled等,来识别GUI对象。WinRunner只会记录最少但可以组合成唯一的属性来识别GUI对象。1.1用GUISpy来查看GUI对象的属性WinRunner提供一个工具叫GUISpy,可以用来检视某个GUI对象有哪些属性以及WinRunner是以哪些属性来识别此GUI对象。1.开启FlightReservation范例程序执行【开始】-【程序】-【WinRunner】-【SampleApplication】-【Flight4A】,登入窗口会开启。2.开启WinRunner执行【开始】-【程序】-【WinRunner】-【WinRunner】-【CreateaNewTest】,如果没有开启欢迎窗口,则点选【File】-【New】。3.开启GUISpy点选【Tools】【GUISpy】开启GUISpy,勾选【HideWinRunner】。114.检视WinRunner用来识别各按钮的属性在GUISpy按下【Spy】按钮,WinRunner会缩到最小,这时你可以看到FlightReservation的登入窗口,将鼠标移动到登入窗口上,这时你可以看到被鼠标指到的GUI对象会有个外框在闪动,同时GUISpy也会显示GUI对象的属性。125.选择GUIMap模式当WinRunner识别完GUI对象后,会将GUI对象储存在GUIMapFile,WinRunner提供二种GUIMapFile模式:GUIMapFileTest与GlobalGUIMapFile。GUIMapFileTest在GUIMapFileTest模式,当你新建立一个测试脚本,WinRunner就会自动帮组你建立测试脚本的GUIMapFile,当你储存测试脚本时,WinRunner也会自动储存GUIMapFile,而当你开启测试脚本时,其WinRunner也会自动加载其GUIMapFile,总之所有与GUIMapFile相关的动作,都由WinRunner自动处理。GlobalGUIMapFile在GlobalGUIMapFile模式,你可以多个测试脚本共享一个GUIMapFile。在开启测试脚本时,也要同时加载使用的GUIMapFile模式。WinRunner默认值是使用GlobalGUIMapFile。点选【Tools】-【GeneralOptions…】-【General】-【GUIFiles】,选择你想要的GUIMapFile模式。13如果重新设定GUIMapFile模式,一定要重启WR让设定生效。6.使用RapidTestScriptWizard当你选择GlobalGUIMapFile模式时,可以使用RapidTestScriptWizard帮组你快速建立GUIMapFile。接下来利用RapidTestScriptWizard识别FlightReservation的对象。【开始】-【程序】-【WinRunner】-【SampleApplication】-【Flight4A】,在【AgentName】输入名字,至少4个英文字母,【Password】输入mercury,点击【OK】。【开始】-【程序】-【WinRunner】-【WinRunner】,【CreateaNewTest】【Insert】-【RapidTestScriptWizard…】开启RapidTestScriptWizard欢迎窗口,点击【next】到下一个画面。14指定要测试的应用程序点选然后点选FlightReservation任一位置,在【WindowName】会出现FlightReservation的窗口名称,点击【Next】。清除所有设定,点击【Next】。设定LearningFlow为Express。RapidTestScriptWizard提供二种学习模式:Express与Comprehensive。按下【Learn】按钮,可以看到RapidTestScriptWizard开始识别FlightReservation中所有GUI对象。假如识别过程中,跳出对话窗口通知你有GUI对象是disalbed,按下【Continue】让RapidTestScriptWizard继续识别其他GUI对象。15在StartApplication接受默认值NO,WinRunner可以自动帮你执行FlightReservation程序。存储GUIMapFile并设定StartupScript在SaveFile窗口,主要将RapidTestScriptWizard识别的所有GUI对象的信息存储在一个GUIMapFile中。并且设定StartupScript,则每次执行WinRunner时会自动执行此StartupScript,而此StartupScript内只有一个指令,就是加载此GUIMapFile。GUIMapFile名称为***.gui。点击【Next】。16出现Congratulations窗口,表示你已经完成建立FlightReservation的GUIMapFile的动作了。2.3.2录制测试脚本选择录制脚本模式WinRunner可以让你以录制的方式快速建立自动测试脚本。在录制时,使用者还是与平常一样操作应用程序,而WinRunner会将使用者的动作录制下来,如按下鼠标的左键,键盘的输入等,并以TSL产生测试脚本,TSL会显示在WinRunner窗口中。WinRunner提供两种录制模式:ContextSensitive与Analog。ContextSensitive模式ContextSensitive录制模式主要以GUI对象为基础,WinRunner会识别使用者点选的GUI对象,以及执行的操作。此模式下,GUIMapFile与测试脚本时保持独立的,当使用接口改变时,只需要更新GUIMapFile。Analog模式此模式,WinRunner主要录制鼠标移动的轨迹,鼠标的点选以及键盘的输入三种动作。此模式下产生的TSL,在执行时,WinRunner会控制鼠标移动,此鼠标移动的轨迹是以屏幕17的绝对坐标为基准,所以当应用程序的位置或是使用接口变动,则以Analog模式录制的测试脚本将会执行失败。建议:只有在测试需要记录鼠标移动的应用程序时,如绘图软件,才使用Analog录制模式,否则以使用ContextSensitive模式优先。ContextSensitiveAnalog应用程序包含一般GUI对象应用程序包含绘图区域不需要录制鼠标移动的轨迹需要录制鼠标移动的轨迹打算将测试脚本运用在同一应用程序不同版本上录制ContextSensitive模式的测试脚本1.开启WinRunner并加载GUIMapFile【开始】【程序】【WinRunner】【WinRunner】【NewTest】检查GUIMapFile是否已经加载,点选【tools】【GUIMapEditor】开启GUIMapEditor,再点选【View】【GUIFiles】检查是否加载GUIMap文件,如果没有加载,则点选【File】【Open】进行加载。2.开启FlightReservation并登入执行【开始】【程序】【WinRunner】【SampleApplication】【Flight4A】,登入窗口开启。在【AgentName】输入至少4个字母,【Password】输入mercury,【OK】登陆。