【问题标题】:Selenium Testing Accessing the Response Status CodeSelenium 测试访问响应状态代码
【发布时间】:2015-07-25 03:44:59
【问题描述】:

我在 C# 中使用 Selenium,我想知道测试中是否有任何东西可以处理响应状态代码。我需要检查状态代码 500 内部服务器错误。

我可以匹配显示的文本,但我不想这样做,因为它将来可能会中断。

【问题讨论】:

  • selenium 测试的目的是检查远远超过 200。如果您只想检查 500、404 或 200,还有更简单的解决方案,例如 cURL 等。只是我的两便士的想法。 Selenium 的目的是检查特定元素(概括但在其核心)。你如何处理不断变化的文本或元素,这是一个测试设计决定……一,我还在自己努力。
  • 谢谢!你能解释得更详细一点吗?我正在测试用户界面。如果 cURL 是指在我的场景中没有帮助的当前 URL。
  • 可以预期,对于每个 sprint(即一组相关更改),您都需要修改 selenium 测试。就像实际的 QA 测试人员需要在开发过程中修改他们的书面计划一样。我们的计划是让我们的 QA 使用 JS 和我们将(工程师)提供的一些抽象来编写我们的 selenium 测试。不过,我们仍在努力解决这个问题。
  • cURL 是一个工具 - 它请求一个页面并为您提供状态代码(它还为您提供 HTML,但与该用途无关)。 Selenium:看看测试基本登录。您将进行三个主要测试。 (1) 提交不输入任何内容,(2) 使用正确的登录名/密码提交,以及 (3) 使用错误的凭据提交。在 (1,3) 的情况下,我们寻找要显示的错误 div。它并不完美或不完整,但这是我们在这种情况下所期望的主要输出;位置或确切的信息无关紧要。在 (2) 中,我们查找包含欢迎消息的 div ID。 404/500 是自动故障

标签: c# selenium


【解决方案1】:

我建议你放弃 Selenium。只需使用 HttpStatusCode 枚举来检查状态(或获取状态)。更多信息请访问https://msdn.microsoft.com/en-us/library/system.net.httpstatuscode.aspx

【讨论】:

  • 他有更有效的方法来解决他的问题。如果他只想获取响应代码并对其采取行动,那么 Selenium 是错误的选择。我会说。
【解决方案2】:

Selenium 不支持获取 HTTP 状态代码。该功能请求已经存在很长时间了。您需要找到第三方库或其他东西。

而且,由于您使用的是 C#,因此您可以按照 JimEvans here 的建议将 fiddler 应用程序与 Selenium 代理一起使用。请注意,他是 Selenium C# 绑定的核心贡献者之一。他还有一个公开的 github 来展示示例here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2011-12-16
    • 1970-01-01
    • 2015-11-30
    • 2018-10-02
    • 2013-11-10
    • 1970-01-01
    相关资源
    最近更新 更多