现代网页负载测试可能是一项具有挑战性的任务,因为融合了各种各样的 Web 技术。 让我们来看看一些最已知的问题,在选择正确类型的测试应用程序以配合网页监控时必须考虑这些问题。
IFrame 对象
如今,网页包括大量嵌入式第三方内容,如广告部分、分析、小部件(谷歌地图、YouTube视频等)。 IFrame 内联元素允许在当前 HTML 文档中嵌入另一个 Web 文档。 简而言之,使用 IFrame 开发人员可以插入来自外部源的内容,换句话说,在其网页上插入另一个网页的内容。
由于 IFrame 包含单独的 Web 资源,因此 IFrame 元素中的内容独立于当前网页,并且无法通过对父 URL 的简单 HTTP 请求访问。 作为对网页的 HTTP 请求的响应,Web 服务器返回 HTML,但它与实际浏览器并不完全相同。 要显示 IFrame 内容,浏览器会分析页面的 HTML 代码,然后执行第三方脚本。
单页应用
说到 Web 开发的现代趋势,单页应用程序(SPA) 在 Web 性能监视方面是一个更棘手的问题。 SPA 是一个完全在 Web 浏览器中运行的单个 URL Web 应用程序。 在选择适合 SPA 负载测试的应用程序之前,应考虑以下几项事项。
首先要考虑的项目之一是SPA逻辑严重依赖JavaScript技术。 每次用户单击按钮或在网页上执行任何其他操作(在选项卡之间导航、填写 Web 表单等)时,浏览器都会执行 JavaScript 并呈现网页。
其次,SPA 中的身份验证涉及携带访问凭据(例如 JSON Web 令牌)的 HTTP 标头。 访问令牌由 SPA 服务器为每个会话提供。 当浏览器执行 HTTP 调用时,它会从 SPA 服务器响应中提取令牌,并将其与每个 HTTP 请求一起传递。
带负载视图的全面负载测试
如上所述,现代 Web 应用的逻辑特征限制了负载测试,这些工具在协议级别工作,不使用浏览器。 这些工具允许对目标 Web 服务器模拟 Web 请求,而无需测试应用程序本身。 但是,创建任何使用页面上的用户数据的请求都需要在 Web 开发方面获得相应的知识。
例如,要登录到需要身份验证的 Web 应用程序,需要在每个会话中验证客户端的调用。 否则,无法准确测试页面性能。
此外,由于 HTTP(S) 请求对目标网页的成功结果,一个人将收到页面加载”完成”事件。 但与此同时,这并不意味着所有JavaScript都得到正确解析或执行。 为了确保用户收到正确的内容,断言关键字或图像验证似乎是正确的选择。 假设我们需要检查第三方横幅上带有 HTML 中<iframe>标记的关键字。 由于 iframe HTML 对象本身不包含任何要验证的内容(由 JavaScript 加载),因此,如果不在实际浏览器中执行脚本,我们就无法执行关键字验证。
另一方面,LoadView的工作方式类似于真正的浏览器,并且支持浏览器级别的 JavaScript 执行和身份验证逻辑。 您只需使用内置记录器在目标页面上编写用户操作脚本并设置加载模式。 就这么简单!
测试将在真正的浏览器(Chrome 或 Edge 选项可用)中执行,以模拟真实用户体验并提供逼真的测试结果。
有关 Web 应用程序负载测试的详细信息,请参阅开始使用压力测试设置和配置 Web 应用程序任务。