本主题介绍如何在 SOAtest 和 Virtualize 中自定义 web 场景的等待条件。 章节目录: 您可以自定义 SOAtest 和/或 Virtualize 在执行用户操作之后等待多长时间,以便进入当前场景步骤的验证/提取阶段,然后进入场景中的下一个步骤。 当用户与 web 页面交互时,web 页面将响应用户正在做的任何事情。例如,当用户点击链接时,页面将重新加载新内容。当用户选择菜单项时,页面的其他部分可能会刷新自己。用户本能地等待页面完成更新,然后继续使用页面。实际上,在大多数情况下,用户必须等待更新,以便获得页面元素。 在实现测试自动化时,必须配置此决策。测试工具必须等待足够长的时间,这样它就不会在页面准备好之前继续执行场景执行过程,但同时它还必须快速运行,以实现自动化速度的好处之一。 SOAtest 和 Virtualize 在记录时自动配置等待条件。对于每个 web 场景步骤,它们都会自动添加一个延迟,以等待下一个场景步骤中使用的元素。之所以这样做,是因为您不能让下一个 web 场景步骤点击链接,除非该链接首先出现在页面上。 如果一个操作导致在记录期间加载一个新页面,那么 SOAtest 和/或 Virtualize 将添加“等待页面加载”延迟。 如果在录制过程中检测到不会导致页面加载的网络通讯报文(如 AJAX 请求),则会添加“等待没有 HTTP 通讯报文的时间间隔”等待条件,以便在回放过程中为 web 应用程序提供足够的时间来发出合适的请求。 但是,您可能希望手动调整或修改等待条件,以便让场景按预期执行。在许多情况下,单个场景步骤将使用多个等待条件。 在场景记录期间捕获的等待条件可以在场景步骤中等待条件选项卡中查看和修改。可用的等待条件包括: 等待页面加载:此等待条件将等待至少一个页面加载完成。但是,它会等到所有的页面加载都在一秒钟内完成。一旦一秒钟过去了,没有任何新的页面加载开始,等待就完成了。页面加载既可以表示整个页面正在重新加载,也可以表示单个帧正在重新加载。如果 SOAtest/Virtualize 检测到页面加载发生在导致记录场景步骤的特定用户操作之后,以及在记录下一个步骤的用户操作之前,则在记录期间添加页面加载等待条件。 在记录过程中添加一个元素等待条件(等待元素出现),作为所有测试或操作的除了那些添加了脚本对话框等待条件的测试或操作的最后一个等待条件。元素等待条件在以下情况下是不活动的(意味着它们不等待任何东西): 下一个浏览器回放工具被配置为使用测试或操作套件逻辑。如果下一个步骤使用测试或操作套件逻辑,则不使用元素等待条件,因为该逻辑可能导致下一个步骤无法运行。 等待脚本对话:此等待条件一直等到检测到以下脚本对话框之一:警告框、确认框或提示框。在录制过程中添加脚本对话框等待条件,作为导致脚本对话框出现的所有测试或操作的最后等待条件。 没有 HTTP 通讯报文情况下等待 1,000 毫秒:此等待条件将等待指定的秒数,直到浏览器和服务器之间没有任何通讯报文。例如,如果指定的时间是 除了手动从该选项卡添加新的等待条件外,还可以从浏览器内容查看器工具自动添加这些条件。 浏览器内容查看器允许您从呈现的 Web 页面的视图以图形方式指定等待条件。 若要从浏览器内容查看器中添加等待条件工具: 添加的等待条件将自动配置为等待,直到出现已关闭的元素。 作为等待条件源的元素将在浏览器内容查看器中以纯绿色边框突出显示。 等待条件按执行顺序出现在等待执行选项卡中。您可以通过点击等待条件选项卡中合适的按钮对条件顺序进行添加、删除和修改。 等待条件的顺序非常重要! 无论其他任何等待条件成功或失败,等待条件都将按照它们出现的顺序执行。如果等待条件在超时前未满足,则会生成错误信息。 除了等待指定的时间条件外,每个等待条件都有超时。如果在超时内没有满足等待条件,则会报告一条错误消息,以便您知道如何调整等待条件。然而,即使等待条件失败,场景步骤也将继续。可以将超时设置为使用首选项中设置的默认超时,也可以为单个等待条件定制超时。了解等待条件
指定等待条件
1
,那么一旦浏览器和服务器之间在一秒钟内没有任何通讯报文,等待就会结束。只有在检测到异步请求导致其他非异步请求发生时,才会在录制过程中添加此等待条件。 从浏览器内容查看器中添加等待条件
标识与等待条件关联的元素
配置等待条件的顺序
Overview
Content Tools