HTTP 响应代码

在 Selenium RC 中的某些浏览器配置下,Selenium 充当浏览器和被自动化网站之间的代理。这意味着所有通过 Selenium 的浏览器流量都可以被捕获或操纵。 captureNetworkTraffic() 方法旨在捕获浏览器和被自动化网站之间的所有网络流量,包括 HTTP 响应代码。

Selenium WebDriver 是一种完全不同的浏览器自动化方法,它更倾向于像用户一样操作。这体现在您使用 WebDriver 编写测试的方式中。在自动化功能测试中,检查状态代码并不是测试失败的特别重要的细节;它之前的步骤更重要。

浏览器始终会呈现 HTTP 状态代码,例如想象一下 404 或 500 错误页面。当您遇到这些错误页面之一时,“快速失败”的简单方法是,在每次页面加载后检查页面标题或可靠点(例如,<h1> 标签)的内容。如果您正在使用页面对象模型,则可以将此检查包含在您的类构造函数或类似预期页面加载的位置。有时,HTTP 代码甚至可能在浏览器的错误页面中呈现,您可以使用 WebDriver 读取此代码并改进调试输出。

检查网页本身符合 WebDriver 代表和断言用户对网站的看法的理想实践。

如果您坚持要捕获 HTTP 状态代码,一种高级解决方案是使用代理来复制 Selenium RC 的行为。 WebDriver API 提供了为浏览器设置代理的功能,并且有许多代理可以以编程方式允许您操作发送到和从 Web 服务器接收的请求内容。使用代理可以让您决定如何响应重定向响应代码。此外,并非每个浏览器都使响应代码对 WebDriver 可用,因此选择使用代理可以让您拥有一个适用于每个浏览器的解决方案。