查看用于 Web 应用程序监视或负载测试的联机报告的详细信息时,您可能会注意到日志中的错误响应,指出”验证错误 (490):自设备创建以来导航逻辑已更改“。

通常,”验证错误 (490):导航逻辑自设备创建以来已更改“响应的原因是导航到页面未发生。 这可能是由于各种因素和特定用例造成的,例如页面处理逻辑更改、Web 服务器行为、特定请求上的浏览器行为等。 例如,网页上未找到按钮,按钮单击时录制的导航失败。

如果脚本的其余部分依赖于失败的步骤,则脚本执行将失败,因为初始页面未正确加载,并且脚本无法处理进一步的操作,如断言和单击。

请注意,每个案例都必须单独审查。

验证错误疑难解答

若要轻松解决此类错误,最好在浏览应用程序时向每个步骤添加 关键字断言图像验证 。 这样,每次导航到新网页时,系统都会检查加载的页面内容中是否存在指定的关键字(或指定用于验证的图像)。 如果系统无法检测到关键字,系统将自动抛出”断言失败”错误。

建议您至少检查页面上的一个关键字,以帮助确定未加载的页面。

示例用例

让我们考虑一个使用 EveryStep Web Recorder 记录的测试方案,其中包括登录步骤,然后导航到网页。 在我们的示例中,记录登录交易后,我们导航到帐户配置文件页面,然后单击”报告”菜单选项卡。 记录到”报告”页面的导航后,我们将停止记录并将脚本保存到设备。

 

为设备生成的联机报告(下图)显示,已记录脚本的所有步骤均已执行,且未出现任何错误。

出于测试目的,我们更改目标网页上的用户凭据,并将关键字断言添加到 EveryStep 脚本中。

更改凭据后,系统将无法使用脚本中记录的旧凭据登录。 因此,帐户配置文件页面以及指向”报告”页面的链接也无法导航到。 一旦系统无法找到要单击的元素并导航到下一页,就会生成验证错误 (490)。