51Testing软件测试论坛

标题: 深夜,被2个问题所困,无法入睡 [打印本页]

作者: wasd2615    时间: 2007-9-5 23:23
标题: 深夜,被2个问题所困,无法入睡
『在 Active Screen 中指定 QuickTest 存储数据的对象。
使用滑块选择下列选项之一:
完整 - 在每个步骤的 Active Screen 中,捕获应用程序的活动窗口/对话框/网页上所有对象的所有属性。该级别在任何动态更改之后保存网页,并以压缩格式保存 Active Screen 文件。
部分 - (默认值)。在应用程序的窗口中执行的第一个步骤的 Active Screen 中,捕获应用程序的活动窗口/对话框/网页上所有对象的所有属性,以及在同一窗口的后续步骤中录制对象的所有属性。该级别在任何动态更改之后保存网页,并以压缩格式保存 Active Screen 文件。
最小 - 在每个步骤的 Active Screen 中,仅捕获录制对象及其父对象的属性。该级别保存所有网页的原始源代码 HTML(动态更改之前),并以压缩格式保存 Active Screen 文件。
无 - 禁止捕获所有应用程序和网页的 Active Screen 文件。』

Q:怎么选不同级别没什么区别啊 ??


第二个问题看图图 谢谢~!!!
作者: walker1020    时间: 2007-9-5 23:46
你用不同的Event configuration level  去录制一个 Ajax 写的页面的操作就知道它们的区别了
作者: wasd2615    时间: 2007-9-5 23:48
谢谢BZ回复 Ajax  是个什么东东啊
有没有这样一个例子网址 我去看看
作者: walker1020    时间: 2007-9-6 00:48
去 Google搜索一下 什么是  Ajax 吧。建议多了解一些开发语言的基础知识。现在用 Ajax  写的网站有许多,自己去找吧
作者: wasd2615    时间: 2007-9-6 22:33
第二个问题呢 版主你看看
作者: walker1020    时间: 2007-9-6 22:59
关于第二个问题,我想楼主最好去仔细阅读一下 QTP Main User's Guide里关于 Object Idnetification的说明。个人的理解是:  在 Object Idnetification里, QTP已经预先设置了识别某类对象(如WebButton)时用到属性,如 html tag ,name 和 type。 之所以是因为还有其它属性的原因至少有两个:第一,其它的属性(如value) 在 你增加 Checkpoint 时 可能会需要检查这些属性的值;第二,由于项目的需要,可能Q根据TP预设地用来识别此类对象的属性还是不能唯一确定一个对象,那么 你就可以 自行在 Object Idnetification 里 增加其它的 某个或某几个属性, 以达到唯一识别出一个对象的目的。

简单地说, 就是 其它的属性是备用的,这样才有扩展性。这也是QTP为什么有这么高的市场占有率的一个重要原因吧。个人意见,仅供参考。

[ 本帖最后由 walker1020 于 2007-9-8 13:24 编辑 ]
作者: walker1020    时间: 2007-9-6 23:02
你的认真令我佩服,如果有主动的学习和钻研能力的话,你一定会很快就掌握甚至熟练应用QTP。
作者: 小孩    时间: 2007-9-7 19:52
Ajax的全称是:AsynchronousJavaScript+XML

Ajax包括:
XHTML和CSS
使用文档对象模型(DocumentObjectModel)作动态显示和交互
使用XML和XSLT做数据交互和操作
使用XMLHttpRequest进行异步数据接收
使用JavaScript将它们绑定在一起

Web开发领域的最新时髦术语其实质是“旧貌换新颜”。

Ajax(AsynchronousJavaScriptandXML)是结合了Java技术、XML以及JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。

Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。

异步JavaScript和XML(AJAX)不是什么新技术,而是指这样一种方法:使用几种现有技术——包括级联样式表(CSS)、JavaScript、XHTML、XML和可扩展样式语言转换(XSLT),开发外观及操作类似桌面软件的Web应用软件。实现Ajax的所有组件都已存在了许多年。AdaptivePath的用户体验战略部门主管兼创办合伙人JesseJamesGarrett今年2月发表在AdaptivePath网站上的一篇文章中杜撰了这个术语。

异步这个词是指AJAX应用软件与主机服务器进行联系的方式。如果使用旧模式,每当用户执行某种操作、向服务器请求获得新数据,Web浏览器就会更新当前窗口。

如果使用AJAX的异步模式,浏览器就不必等用户请求操作,也不必更新整个窗口就可以显示新获取的数据。只要来回传送采用XML格式的数据,在浏览器里面运行的JavaScript代码就可以与服务器进行联系。JavaScript代码还可以把样式表加到检索到的数据上,然后在现有网页的某个部分加以显示。

在面向消费者的诸多应用当中,Google的Gmail和GoogleMaps就是最常见的例子。在Gmail当中,AJAX负责如何开启线程会话,以显示不同邮件的文本内容。而在Maps当中,AJAX允许用户以一种似乎无缝的方式拖拉及滚动地图。

还有雅虎的Flickr像片共享应用和亚马逊网站的A9搜索引擎。另外,雅虎新的Web邮件服务可能很快就会吸引AJAX支持者的莫大关注,这项服务基于雅虎收购Oddpost后得到的技术。

这些UI都充分地使用了后台通道,也被一些开发者称为“Web2.0”,并导致了大家对Ajax应用兴趣的猛涨。

然而,AJAX应用软件厂商越来越把目光瞄准了企业。譬如说,Scalix的WebAccess电子邮件应用软件其实比微软Outlook自己的Web邮件界面更像Outlook。

不过AJAX应用软件的适用领域具有一定的局限性。因为它们利用了一些最新的Web技术,所以只能在某些Web浏览器里面运行——不过AJAX适用的浏览器正越来越多。

Ajax

Ajax,异步JavaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,你可以创建接近本地桌面应用的,直接的、高可用的、更丰富的、更动态的Web用户接口界面。

Ajax处理过程

一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始。如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应。Ajax处理过程中的第一步是创建一个XMLHttpRequest实例。使用HTTP方法(GET或POST)来处理请求,并将目标URL设置到XMLHttpRequest对象上。

现在,记住Ajax如何首先处于异步处理状态?当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们。要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求。控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用。

在JavaWeb服务器上,到达的请求与任何其它HttpServletRequest一样。在解析请求参数后,servlet执行必需的应用逻辑,将响应序列化到XML中,并将它写回HttpServletResponse。


一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始。如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应。Ajax处理过程中的第一步是创建一个XMLHttpRequest实例。使用HTTP方法(GET或POST)来处理请求,并将目标URL设置到XMLHttpRequest对象上。

现在,记住Ajax如何首先处于异步处理状态?当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们。要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求。控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用。

在JavaWeb服务器上,到达的请求与任何其它HttpServletRequest一样。在解析请求参数后,servlet执行必需的应用逻辑,将响应序列化到XML中,并将它写回HttpServletResponse。


一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始。如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应。Ajax处理过程中的第一步是创建一个XMLHttpRequest实例。使用HTTP方法(GET或POST)来处理请求,并将目标URL设置到XMLHttpRequest对象上。

现在,记住Ajax如何首先处于异步处理状态?当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们。要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求。控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用。

在JavaWeb服务器上,到达的请求与任何其它HttpServletRequest一样。在解析请求参数后,servlet执行必需的应用逻辑,将响应序列化到XML中,并将它写回HttpServletResponse。
作者: walker1020    时间: 2007-9-7 22:53
楼主,你现在知道什么是Ajax了吧。sdlkfj3

[ 本帖最后由 walker1020 于 2007-9-7 22:56 编辑 ]
作者: walker1020    时间: 2007-9-7 22:54
非常感谢 “ 小孩 ” 会员对于 Ajax的详细说明,非常感谢!
作者: wasd2615    时间: 2007-9-8 01:15
原帖由 walker1020 于 2007-9-6 23:02 发表
你的认真令我佩服,如果有主动的学习和钻研能力的话,你一定会很快就掌握甚至熟练应用QTP。



谢谢BZ的勉励  作为一个新人很受鼓舞,我会继续努力的

最近在测多语言的
比如登录按钮  中文的时候name=登录 英文时 name=login
中文环境录制脚本拿到英文环境回放

1   不对对象库属性不做任何改变 直接回放 可以回放成功  是由于智能标识,真个登录页面就一个按钮 QTP可能利用type找到了 这个按钮

2  录制时候去掉智能标识 强制属性也只有一个 name 没有辅助属性 回放失败  

虽然QTP记住了那么多属性但是没有用于标识对象 应该就是和BZ说 的"就是 其它的属性是备用的,这样才有扩展性" 这个意思一样


多语言的可以想yabest前辈说的那样 修改对象库的属性  name=登录|login   这样测多语言
作者: 423799223    时间: 2007-9-8 07:56
不错
讨论的非常好
作者: walker1020    时间: 2007-9-8 13:30
原帖由 wasd2615 于 2007-9-8 01:15 发表



谢谢BZ的勉励  作为一个新人很受鼓舞,我会继续努力的

最近在测多语言的
比如登录按钮  中文的时候name=登录 英文时 name=login
中文环境录制脚本拿到英文环境回放

1   不对对象库属性不做任何改 ...


是的,如果根据对象库里面识别某类对象的属性没有找到一个相匹配的对象,那么QTP就知道了:根据这几个属性没有找到对象,那么我必须要根据别的属性去找对象了。于是,你说的那些其它属性(也就是备用的属性)就发挥自己的作用了。 在 Test Report里面,你会看到一个Smart Idnetification的标志,告诉你QTP采用了“智能识别”技术找到了合适的对象,并且告诉你采用“智能识别”技术时找到对象时, QTP所依据的属性。个人理解,仅供参考
作者: wasd2615    时间: 2007-9-9 12:57
1 采用智能标识
2 修改对象库属性  登录|login
3 描述语言        webbutton("name:=login")


1同样是link 有的地方可以智能标识 有的地方却不可以 是为什么 啊
2修改对象库的时候 如果当时是中文录制的 修改以后搞的原来中文下回放失败
3这个方法基本都可以成功  是不是最好用这种???版主 ?? 1和2方法总感觉不大可靠




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