- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个场景,浏览器状态 =done 但仍未加载页面。
qtp 是否有可以等到页面完全加载的通用程序?
我尝试使用 objBrowzer.sync,objPage.Sync,objPage.waitproperty "readyState","completed",50。
但它并不总是有效。
我什至不能只写一个等待语句,以便它等到那个对象出现。因为在不同的情况下会出现不同的对象。
是否有任何通用语句适用于所有场景?
提前致谢。
最佳答案
您刚刚发现 QTP 没有为与异步浏览器脚本执行同步提供任何显式支持 就像 AJAX 驱动的网站一样。当 QTP 认为页面已完全加载时,实际上仍有 JavaScript 处理程序在运行,可能会更新用于页面的 HTML,并且 QTP 会提前访问 GUI。readyState
是个好主意,但通常很容易找到效果不佳的情况。
1. 最好的解决方案是同步应用程序的“忙”指示器,如进度条或事件指示器。
不幸的是,等待忙指示符意味着忙指示符确实会出现,而且总是如此,但许多应用程序仅在该过程花费足够长的时间(超过 2 秒等)时才会显示。然后,这很快变得比预期的要困惑一些。
2.如果应用程序没有这样的东西,通常你可以通过同步一些“就绪”指示器来帮助自己 ,例如“出现预期字段”或“确定按钮消失”。如果没有真正的“就绪”指示器(通常不存在),这通常需要针对每个上下文的特定解决方案。
3. 在许多项目中,自动化人员可以在应用程序中专门为他们内置一个繁忙的指示器。 虽然这不会给开发人员带来很多工作(因为现代应用程序有一个中央消息调度器,所以可以轻松地集中跟踪“忙”到“空闲”状态和 vv 的转换),但它大大简化了所需的工作量用于同步。
因此,如果可能,请尝试联系开发人员并让他们提供测试机器人“同步”例程可以轻松轮询的属性(变量、内存映射文件、信号量,无论他们喜欢什么)。 (提示:为了能够区分两个“就绪”状态,即使在“缺少”两者之间的“忙碌”状态之后,除了“忙碌状态标志”之外,获得连续的“忙碌状态计数”可能会有所帮助,因此您可能会在同一场合提出请求。)然后,所有同步问题都是应用程序中的一个缺陷,因为它显然没有正确保持就绪信号。
更新 对于基于事实上的“标准”框架的应用程序,人们可能会找到以通用方式实现同步的方法。
例如,对于 JavaScript 应用程序,我设法创建了一个工具,将事件流透明地报告给 QTP,在那里使用它来等待“足够长”,使人们能够设置等待某些事件的特殊检查点类库调用(尤其是“单击”,对于执行 AJAX 往返的应用程序,如 Java 服务器页面、“ajaxstop”、事件)在继续之前完成。
这已被证明是非常有用的,因为通常情况下,让开发人员实现对测试自动化需求的任何类型的支持是非常复杂的,并且基于 GUI 的同步(仅通过测试对象状态/存在)有时是不够的,如果应用程序在后台执行异步请求。它还消除了为每个 GUI 上下文探索同步选项的需要,这可能非常耗时和/或不可靠。
关于qtp - QTP如何等待页面加载动态数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540965/
我用 html 创建了一个简单的表单,它有两个对象(编辑框 - 名字),它们具有相同的属性(如名称、输入和其他),一个在另一个下面。我在其中一个编辑框中记录了一个操作,对象被添加到本地对象存储库中,索
我正在使用Web可扩展性工具包实现对QTP的扩展。 如果我实现QTP操作的JScript函数遇到错误(例如,用户输入了错误的参数值),我希望QTP停止测试执行并通知用户该错误。我希望它充当QTP中的正
我正在寻找使用 QTP 触发弹出式菜单操作的想法。 我正在使用 QTP 测试 Web 应用程序。该应用程序具有“级联”或分层弹出菜单。 例如选项->首选项 在重新编码时,QTP 会识别菜单层次结构的终
我正在尝试使用 QTP 识别框架内显示的内容。我从页面询问所有符合描述的框架并获得框架集合。我从集合中取出第一帧,但由于某种原因,该对象似乎不存在,因此我无法访问内部显示的内容。知道如何提取框架内的内
有人能告诉我我们如何在 QTP 中定义一个变量,该变量将在运行时在一个操作中存储信息,然后该变量将在同一测试的其他操作中使用。 最佳答案 全局范围变量的两个最快选项(尽管还有其他传递数据的方法): 环
我们有一个应用程序,其中正在加载一些文件,并且应用程序在加载文件期间停止响应一段时间。在测试自动化期间,我们有文件加载是自动的场景,但 qtp 必须等到应用程序再次开始响应。如何编码?有没有像“Wai
在给定的测试文件夹中,有以下结构: Action 0 ->快照 ->-> 很多 *.pngs、*.htmls 等。 . . . Action N 快照有什么用?从我在 http://www.geeki
我有一个 ftp 批处理文件,如下所示: open bin cd \Curr_QA_DataLoad put C:\Users\niprakash\Documents\XYZ\7090\Niti
我有以下 HTML 标记,QTP 将其正确识别为 WebEdit 对象: 如何将 HTML 标记中的 _id 属性获取到 QTP 中的对象属性中?我使用“对象标识”对话框将 _id 和 html _
我有以下 HTML 标记,QTP 将其正确识别为 WebEdit 对象: 如何将 HTML 标记中的 _id 属性获取到 QTP 中的对象属性中?我使用“对象标识”对话框将 _id 和 html _
我正在尝试使用 QTP 11.0 Web 可扩展性插件让自定义 Web 元素类型显示在“对象标识”下。 如问题末尾所示,我的扩展程序中有四个文件。我的问题是没有任何对象显示在 Object Ident
我们计划在 Windows 10 上测试我们的应用程序。我们得到了 UFT 12 和 QTP 11,想知道它是否支持 Windows 10。 我试图在谷歌上搜索但没有得到明确的答案。 最佳答案 它支持
有没有人有构建 .NET 测试执行工具的经验,该工具可以执行现有 QuickTest Professional VBScript 自动化脚本中的逻辑,但无需启动 QTP 实例?我们正在过渡到 Visu
在这篇文章中描述了 how to improve QTP’s debug engine QTP 10 和 QTP 11 有什么可能吗? 谢谢! 最佳答案 根据 http://depenga.com/Q
QTP中的等待和同步功能之间有什么区别?另外,请给出一个想法,可以使用什么情况等待功能,以及可以使用情况同步功能。 请帮帮我。 最佳答案 Browser.Sync或Page.Sync等待导航完成,这意
我有一个场景,浏览器状态 =done 但仍未加载页面。 qtp 是否有可以等到页面完全加载的通用程序? 我尝试使用 objBrowzer.sync,objPage.Sync,objPage.waitp
例如,假设一个测试调用了两个动作 A 和 B。 A 通过调用 "Reporter.ReportEvent micFail, ... 执行“失败”的步骤",B 通过调用 "Reporter.Repo
在 QTP 中,有一个存储对象的对象存储库。并且这些对象可以重复使用。重用在这里是什么意思?该对象是否保存在内存中?....对象存储库只是一个 xml 文件,用于存储对象的属性,对吗? 最佳答案 对象
我必须右键单击网络元素。我尝试了以下方法: 为简化代码,假设 webElem 引用有效的 Browser().Page().WebElement()。 1) Set obj=createobject(
我想在发生错误时截取应用程序的屏幕截图并将其保存在特定文件夹中。下面的代码可以工作,但它不会截取应用程序的屏幕截图,而是截取 QTP 代码屏幕的屏幕截图。 Function CaptureImage(
我是一名优秀的程序员,十分优秀!