如何使用带有 selenium 驱动程序的 behat + mink 获取页面状态代码?

How can I get page status code using behat + mink with selenium driver?

Selenium 不支持此代码

$statusCode = $this->getSession()->getStatusCode();

是否可以通过其他方式查看状态?

这不是 Selenium 的设计目的。他们的项目成员之一 reply to request to implement this in Selenium said:

We will not be adding this feature to the WebDriver API as it falls outside of our current scope (emulating user actions).

解决方案是使用另一个支持状态代码的驱动程序,或者尝试实施一种可用的 hack(在 other stack overflow questions asking the very same thing 中给出)。

您可以使用 Restler,一个支持使用 Behat 和 Guzzle 进行行为驱动 API 测试的微框架。

例如(参见:status_codes.feature):

@restler
Feature: HTTP Status Codes

  Scenario: I should be able to suppress status code 404
    When I request "/examples/_001_helloworld?suppress_response_codes=true"
    Then the response status code should be 200