winrunner自动化测试工具.ppt

上传人:sh****n 文档编号:6570203 上传时间:2020-02-29 格式:PPT 页数:77 大小:1.09MB
返回 下载 相关 举报
winrunner自动化测试工具.ppt_第1页
第1页 / 共77页
winrunner自动化测试工具.ppt_第2页
第2页 / 共77页
winrunner自动化测试工具.ppt_第3页
第3页 / 共77页
点击查看更多>>
资源描述
2020 2 29 认识WinRunner系统的主要功能及适用范围认识WinRunner系统进行软件测试的基本思想与策略学习WinRunner系统进行软件测试的主要任务和过程掌握运用WinRunner系统工具的应用配置掌握运用WinRunner系统实现功能测试 WinRunner测试系统工具的运用 2020 2 29 安装 安装winrunner8 0重启计算机运行时需要license运行破解目录下的m mwr82 exe经过上面的安装过程 完成winrunner的安装和破解 2020 2 29 1WinRunner介绍 WinRunner 简称WR 是一种基于MSWindows的功能测试工具 WR可以帮助用户自动处理从测试开发到测试执行的整个过程 可以创建可修改和可复用的测试脚本 而不用担心软件功能模块的变更 使用WinRunner进行自动化测试的好处 快速 Fast 可靠 Reliable 可重复 Repeatable 可程序化 Programmable 可再使用 Reusable 2020 2 29 WinRunner的测试模式 以WinRunner执行测试 就与人工测试一样 WinRunner会仿真鼠标的动作与键盘的输入 当在软件操作中点击GUI 图形用户界面 对象时 WR会使用一种类C的测试脚本语言 TSL 生成一个测试脚本 测试人员可以用手工编程的方法编辑这个脚本 WinRunner有两种录制测试的模式 1 上下文敏感模式 ContextSensitiveMode 2 模拟模式 AnalogMode 2020 2 29 上下文敏感模式 上下文敏感模式根据用户选取的GUI对象将用户对软件的操作动作录制下来 并忽略这些对象在屏幕上的物理位置 每一次对被测软件进行操作 测试脚本会描述用户选取的对象和操作动作 当进行录制时 WR会对选取的每个对象做唯一描述并写入GUImap 映射 中 GUImap和测试脚本被分开保存和维护 当软件用户界面发生变化时 用户只需更新GUImap 这样一来 上下文敏感的测试脚本将非常容易地被重复使用 执行测试时只需要回放测试脚本 回放测试脚本的过程 就是WR模拟一个用户使用鼠标选取对象 用键盘输入数据的操作过程 WR从GUImap中读取对象描述 并在被测软件中查找符合这些描述的对象 2020 2 29 模拟模式 模拟模式记录鼠标点击 键盘输入和鼠标在二维平面上 x轴 y轴 的精确运动轨迹 执行测试时 WR让鼠标根据轨迹运动 模拟模式对于那些需要追踪鼠标运动的测试非常有用 例如画图软件 2020 2 29 WinRunner的测试过程 WinRunner的测试流程分为以下六个阶段 创建GUIMap 识别应用程序的GUI对象创建测试 建立测试脚本调试测试 对测试脚本除错 debug 执行测试 在新版应用程序执行测试脚本查看测试结果报告发现的错误 2020 2 29 样本软件 WinRunner中附带了一个用于航班预定的样本软件FlightReservation 该样本软件有两个版本Flight4A和Flight4B 其中Flight4A版本是正常的软件 Flight4B版本中则有意识加入了一些错误 样本软件的登录 可以使用任意用户名 长度至少为4 登录FlightReservation软件 密码为Mercury 2020 2 29 2使用WinRunner 启动WinRunnerWinRunner主窗口测试窗口加载WinRunner插件 2020 2 29 启动winrunner 开始 程序 winrunner选择要安装的插件 免费提供了上述四种 其他单独需要购买 2020 2 29 2020 2 29 测试脚本 2020 2 29 3GUI对象的识别和GUIMap文件 WinRunner如何识别应用程序中的GUI对象使用tools GUISpy查看GUI对象的属性使用insert RapidTestScriptWizard学习对象并产生测试脚本 只在Gloable模式下有效 使用tools GUImapeditor查看对GUI对象进行维护 2020 2 29 运用SPY识别GUI对象 运行 飞机预定票程序 出现下图 2020 2 29 运行WinRunner 选择File New 打开GUISPY 如图 2020 2 29 捕捉到的信息 2020 2 29 GUIMap 界面地图 的两种方式 进入WinRunner 选中如图所示菜单 GUIMAP文件就是用于记录GUI对象属性的文件 因为其中包含了位置信息 所以用一个MAP来表示 2020 2 29 GlobalGUIMapFile 多个测试脚本共享同一个GUIMapFile 用户要手工保存和加载使用的GUIMapFile 这是WR的默认模式 GUIMapFilePerTest 每次新建测试就自动创建一个GUIMapFile WR会在用户保存测试 打开测试时 自动保存和自动加载GUIMapFile 重新设定GUIMapFile模式后 必须重新启动WR才能让设定生效 2020 2 29 两种模式的比较 2020 2 29 GlobalGUIMapFile模式的使用 关于GlobalGUIMapFile模式使用这种模式 最好是使用RapidTestScriptWizard在录制脚本前让WR一次性的学习被测软件中所有的GUI对象 如果GUI发生变化 再用GUIMapEditor来单独学习发生变化的窗体或对象 并以此更新GUIMap 2020 2 29 GlobalGUIMapFile模式的使用 续 让WinRunner学习GUI在GlobalGUIMapFile模式 WR可以通过以下三种方式学习被测软件的GUI 1 使用RapidTestScriptWizard学习被测软件每个窗体中所有GUI对象的属性 2 使用GUIMapEditor学习单个GUI对象 窗体或某个窗体中所有GUI对象的属性 如果软件开发过程中GUI改变了 用户可以使用这种方式更新GUIMap 3 通过录制脚本的方式学习被测软件中被录制 被操作 的那部分的所有GUI对象的属性 2020 2 29 使用RapidTestScriptWizard学习GUImap 注意问题 不能打开过多窗口 IE powerpoint等等 最好把与测试无关的窗口都关闭 要使用RapidTestScriptwizard 该向导只能在GlobalGUIMapFile模式下使用 点选Insert RapidTestScriptwizard 将打开该向导的欢迎窗口 在录制脚本前使用RapidTestScriptwizard一次性学习被测软件所有的GUI对象 将生成并保存GUImap文件 以后在脚本开头部分使用GUI load语句就可以加载这个GUImap文件 2020 2 29 2020 2 29 2020 2 29 2020 2 29 点击手指铵钮 移动鼠标到 飞机预定票系统 窗口 如下 注意 鼠标形状是手指形状和选中窗口的边框是处于闪烁状态 2020 2 29 将其中的CheckBox全部去掉 2020 2 29 按 next 进下一步 如图 按默认值 2020 2 29 选中 EXPRESS 单击 Learm 按钮 这时 飞机预定票系统 窗口将开始工作 不断闪烁 记录所有UI的状态及相关信息 同时左上角将有个信息框指示工作状态 当窗口停止闪烁时 出现如下提示 选中 NO 进行下一步 2020 2 29 2020 2 29 2020 2 29 2020 2 29 使用GUIMapEditor学习GUI 使用该功能可以打开 保存GUImap 学习GUI对象 点选Tools GUIMapEditor 打开GUIMap编辑器 2020 2 29 GlobalGUIMapFile模式的使用 续 保存GUIMap当用户用录制的方式学习GUI对象时 对象的描述就被添加到临时GUIMap文件中 用户启动WR时 包含前一次测试内容的临时文件就被加载 要避免在新的测试中把有价值的GUI信息覆盖掉 用户必须把临时GUIMap文件保存在一个永久的GUIMap文件中 操作演示 使用GUIMapEditor保存GUIMap 2020 2 29 GlobalGUIMapFile模式的使用 续 加载GUIMap文件WR把对象的信息保存在一个GUIMap文件中 当用户需要用GUIMap文件来寻找对象时 用户必须将文件加载到GUIMap中 而且必须在测试开始前加载合适的GUIMap文件 在WR中有两种方法可以加载GUIMap文件 1 使用GUI load功能加载GUIMap文件 不做介绍 2 使用GUIMapEditor加载GUIMap文件注意 如果用户用GUIMapFileperTest模式 则不能手工加载或卸除GUImap文件 2020 2 29 使用GUIMapEditor加载GUIMap文件 2020 2 29 2020 2 29 2020 2 29 GUIMapFilePerTest模式的使用 关于GUIMapFilePerTest模式使用GUIMapFileperTest模式 用户不需要教WR去学习被测软件的GUI 也不需要保存或加载GUIMap文件 在这种模式下 WR会自动处理所有与GUIMapFile有关的动作 在用户创建新测试时自动创建一个新的GUIMap文件 在用户保存测试时自动保存GUIMap文件 在用户打开测试时自动加载GUIMap文件 注意 某些功能在这种模式下会被禁用 2020 2 29 GUIMapFilePerTest模式的使用 续 在GUIMapFilePerTest模式下工作在这种模式下 WR通过录制脚本的方式学习被测软件的GUI 如果GUI发生变化 用户可以用GUIMapEditor更新每个测试的GUIMap 用户无须加载或保存GUIMap文件 注意 如果用户改变了对象的逻辑名 则必须更新脚本 GUIMapFilePerTest模式要点不要在GUIMapEditor里保存用户对GUIMap文件的修改 不要手工加载或卸除GUIMap文件 2020 2 29 4编辑GUIMap WR使用GUIMap来标识和查找GUI对象 一旦被测软件的GUI改变了 用户就必须更新GUIMap中对象的描述 用户有两种更新GUIMap的方法 在测试运行中使用Runwizard 测试中如果WR无法定位对象时 就会自动打开Runwizard 它会指导用户识别对象并把对象的描述更新到GUIMap里 用GUIMapEditor手工编辑GUIMap 在用户更新GUIMap前 GUIMap必须先被加载 2020 2 29 RunWizard Runwizard 运行指南 可以在测试运行中检测被测软件GUI的变化 当WR无法定位对象时 它会被自动打开 Runwizard会提示用户指向对象 确定该对象没有被发现的原因 然后提供解决方案 多数情况下 它会自动给GUIMap添加新的描述或修改已有描述 当这个过程结束 测试将继续 下次执行测试时 WR就会找到这个对象了 2020 2 29 GUIMapEditor GUIMapEditor提供了两种模式来查看GUIMap的内容 GUIMap 可以让用户看到整个GUIMap中所有的窗体和对象 GUIFiles 提供一个GUIFile的文件清单 用户可以方便的查看单个GUIMap文件的内容 在GUIMapEditor的 view 菜单中提供了这两种查看模式的转换 2020 2 29 修改逻辑名和物理描述 在GUIMapEditor中用户可以修改对象的逻辑名或物理描述 当对象被赋予的逻辑名太长或含义不清晰时 就需要修改逻辑名使脚本容易阅读 当对象属性值变化时 就需要修改物理描述 操作演示 在GUIMapEditor中修改对象的逻辑名和物理描述 2020 2 29 在文件间复制和移动对象 用户可以用从一个GUImap文件复制或移动GUI对象到另一个GUImap文件的方式更新GUImap文件 注意 用户只能从一个被打开但是未被加载的GUImap文件中复制对象 如果用户使用GUIMapFileperTest模式 就不可以手工打开或在文件之间复制或移动对象 操作演示 在GUIMap文件间复制和移动对象 2020 2 29 操作演示 在GUIMapFile里找到对象在多个GUIMapFile里找到对象在GUIMapFile里手工添加对象从GUIMapFile里删除对象清除GUIMapFile筛选显示对象保存GUI的变更 2020 2 29 5学习虚拟对象 被测软件中可能包含位图 WR录制对这些位图的操作时使用win mouse click语句 通过把位图定义成虚拟对象 virtualobject 用户可以让WR像对待GUI对象那样处理它们 依据位图在被测软件中的行为表现 用户可以创建虚拟pushbuttons radiobuttons checkbuttons lists或tables 如果这些类型都不适合 用户可以创建一个属于综合类的虚拟对象 操作演示 使用VirtualObjectWizard定义虚拟对象 2020 2 29 脚本录制的两种模式 上下文敏感模式模拟模式 2020 2 29 上下文敏感模式录制测试脚本 启动WinRunner并创建一个新测试 选择File New 新测试文件打开 工作在全局用户图形界面绘图文件模式下 确定GUIMAP文件被加载 否则不能录制 选择Tools GUIMapEditor GUIMAP文件编辑器被打开 在其中选择View GUIFiles查看flight4a GUI是否包含在GUI文件列表中 如果这个文件没有被加载 需要选择File Open并指定此文件打开 2020 2 29 上下文敏感模式录制测试脚本 运行 飞机定票系统 Flight4A Password mecury 出现下图 2020 2 29 录制一个脚本 以 上下文敏感 ContextSensitive 模式录制 在WinRunner中 选择Create Record Contextsensitive F2 或者选中工具条上的Record按钮 状态条也会告诉你所处的录制模式 2020 2 29 2020 2 29 测试脚本的运行与测试结果的分析 确认航班预约应用程序在桌面上打开 将航班预约应用程序和WinRunner重新排放 使它们在桌面上同时可见 确认在WinRunner中的测试运行模式为Verify校验模式 选择从头开始运行 选择Test RunfromTop或点击FromTop按钮 运行测试对话框打开 接受默认的文件夹名称res1 选择Displaytestresultsatendofrun单选框 单击OK按钮 WinRunner立刻开始运行这个测试 2020 2 29 2020 2 29 测试脚本运行的三种方式 Verifymode 检查应用程序 Debugmode 使用这种方式来帮助用户识别测试脚本中的bug Updatemode 使用这种方式来更新测试脚本的期望结果或创建一个新的期望结果文件夹 2020 2 29 查看测试结果 2020 2 29 2020 2 29 创建测试过程总结 用户可以用录制或编程的方式创建测试 通常是结合以上两种方式创建测试脚本 首先录制一个基础测试脚本 用户对被测软件进行操作 TSL语言记录下这些操作 随后用户可以在录制的测试脚本中修改 添加功能等 创建测试脚本的主要步骤 1 决定用户想要测试的功能点 确定用户想在脚本中使用的检查点和同步点 2 在测试属性对话框里把测试相关的信息文档化 3 选择录制模式 并录制 4 给测试分配一个名字并保存 2020 2 29 关于检查点 检查点可以让用户比较软件当前版本和以前版本的区别 录制测试时 在用户需要检查软件反应的地方插入检查点 插入检查点后 WR会收集一套性能指标 在测试运行时对其一一验证 在脚本中可以插入四类检查点 GUI检查点检验GUI对象信息 位图检查点做一个窗体或区域的截图 并把这张图片和以前版本进行比较 文本检查点读取GUI对象和位图中的文本 使用户可以检验文本内容 数据库检查点检查一定数量的行和列组成的集合 这个集合由用户在数据库中创建 的内容 2020 2 29 插入检查点 2020 2 29 插入检查点后的测试运行结果 2020 2 29 关于同步点 同步点用来处理测试运行中可能发生的时间控制和窗体位置等问题 当WR执行到同步点时 会暂停执行以等待应用程序某些状态的改变后 再继续执行脚本 何时应该使用同步点 执行测试时 所测试的应用程序每次操作的响应时间并不一定 导致执行输入动作的时间也需要等待 例如 从数据库取得数据 等待一个窗口开启 等待某个状态讯息出现等动作可能会时快时慢 如果应用程序响应时间超过WR设置的等待时间 则测试执行就可能会失败 2020 2 29 关于数据驱动测试 如果用户想用多组数据测试相同的操作步骤 用户可以创建数据驱动测试 测试会循环执行指定的次数 每次执行都由不同的数据驱动 为了使WR可以使用这些数据 用户必须在测试脚本中建立和数据的联系 这就叫测试参数化 测试所需的多组数据会被存储在一个数据表中 具体操作时 用户可以手动修改测试脚本或者用DataDriverWizard来参数化测试以及把数据储存到表格中 2020 2 29 计划一个测试 确认将要测试的功能点 最好设计简短 测试单一功能点的测试 尽量不要设计繁长 一次涉及多个功能点的测试 决定要在测试中使用的检查点和同步点 如果计划使用录制的方式 就要决定哪个部分用Analog模式 哪个部分用ContextSensitive模式 决定在脚本中添加哪些代码 如循环 数组或自定义功能 2020 2 29 测试信息文档化 创建测试前 用户可以把测试相关信息写在测试属性 TestProperties 对话框的综合和描述栏里 用户可以输入测试创建者的名字 测试类型 对于测试的详细描述和功能描述文档 用户还可以通过测试属性对话框来确定测试中使用的插件 给测试分配一个数据表 定义测试变量 把测试作为一个编译过的模块等 操作演示 使用TestProperties对话框来文档化测试信息 2020 2 29 2020 2 29 Winrunner完整实验 上面将winrunner的基本使用过程做了介绍下面是完整的实验流程 2020 2 29 录制测试脚本 续 操作演示 录制ContextSensitive模式的测试脚本1 启动WR 并加载GUIMapFile flight4a gui 2 启动Flight4A 并登录3 开始以ContextSensitive模式录制测试脚本4 开启3号订单5 停止录制6 储存测试脚本为lesson3 2020 2 29 录制测试脚本 续 操作演示 录制Analog模式的测试脚本1 打开lesson3测试脚本 将光标移到最后一行2 开始以ContextSensitive模式录制测试脚本3 打开传真订单窗口 输入FaxNumber 41555512344 勾选 SendSignaturewithorder 5 在ContextSensitive模式下录制签名动作6 清除签名7 将FaxOrder窗口移动到其它位置 2020 2 29 录制测试脚本 续 操作演示 录制Analog模式的测试脚本 续 8 使用F2切换到Analog模式下录制签名动作9 再按F2切换回ContextSensitive模式 并将订单传真出去10 停止录制11 保存测试脚本lesson312 保存更新后的GUIMapFile到flight4a gui操作演示 执行测试脚本lesson3 并分析测试结果 2020 2 29 7同步点 操作演示 在FlightReservation中建立一张新的订单 并新增到数据库中变更预设等待时间的设定如何识别何种问题需要以同步点解决加入同步点执行测试脚本并检视结果 2020 2 29 操作演示 录制测试脚本1 启动WR 并加载GUIMapFile flight4a gui 2 启动Flight4A 并登录3 开始以ContextSensitive模式录制测试脚本4 建立新的订单5 填入航班与旅客资料6 点选 InsertOrder 将订单新增到数据库中7 点选 DeleteOrder 删除刚才新增的订单8 停止录制 并保存测试脚本为lesson4 2020 2 29 操作演示 变更预设等待时间的设定1 点选Tools GeneralOptions 2 选取Run Settings3 将10000msec改成1000msec 1秒 4 按下 OK 如何识别何种问题需要以同步点解决1 启动WR 并加载lesson4测试脚本2 点选 RunFromTop 3 暂停执行4 按下 Pause 2020 2 29 操作演示 加入同步点1 确认FlightReservation已经启动2 确认WR已经启动 并加载lesson4测试脚本与GUIMapFile3 将光标移动到要插入同步点的位置4 插入同步点 点选Insert SynchronizationPoint ForObject WindowBitmap5 手动将1秒钟改成10秒钟 obj wait bitmap InsertDone Img1 10 6 保存测试脚本lesson47 如果在GlobalGUIMapFile模式下 记得保存新的GUI对象 2020 2 29 8GUI检查点 用户可以用GUI检查点来检验被测软件中的GUI对象 用户所要做的就是指向这个对象 并选择用户想要WR检查的属性 用户可以检查WR建议的属性或自己指定属性 GUI对象和被选定的属性将保存在一个检查清单上 然后WR捕捉对象的当前属性值并保存起来作为期望值 这时一个GUI检查点就自动被插到脚本中 执行测试时 检查点就把实际值和期望值比较 如果不符合就说明检查失败 检查结果可以在测试结果窗口看到 2020 2 29 插入GUI检查点 检查单个属性的值 点选Insert GUICheckpoint ForSingleProperty检查单个对象 点选Insert GUICheckpoint ForObject Window检查一个窗体中的多个对象 点选Insert GUICheckpoint ForMultipleObjects插入检查点后 脚本中将加入obj check gui语句或win check gui语句 2020 2 29 插入GUI检查点操作演示 1 启动WR 并加载GUIMapFile flight4a gui 2 启动Flight4A 并登录3 开始以ContextSensitive模式录制测试脚本4 打开 OpenOrder 窗口5 对 OrderNO checkbox插入检查点6 输入订单编号47 对 OrderNO checkbox插入另一个检查点8 对 CustomerName checkbox插入检查点9 点选 OK 打开订单10 停止录制 并保存测试脚本为lesson5
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!