我正在使用 Selenium、C#、NUnit 来编写自动化测试。
是否可以使用 WebDriver 获取 HTTP 状态代码,以便可以向用户提醒由于 HTTP 请求而失败的测试?
我正在使用 Selenium、C#、NUnit 来编写自动化测试。
是否可以使用 WebDriver 获取 HTTP 状态代码,以便可以向用户提醒由于 HTTP 请求而失败的测试?
不是没有外部工具。
你看,这在过去已经被多次提出,并且是 Selenium官方问题跟踪器中最大的“问题”之一。特定问题已被反弹并基本上决定它超出了 Selenium 的范围。
然而,这并不意味着它是不可能的。幸运的是,您使用的是 C#,所以它比您想象的要容易一些。
最近,Selenium 的一位开发人员写了一篇博文,概述了如何在 C# 中做到这一点。这是一篇由三部分组成的博客文章,用于帮助解释每个步骤,并使用了一个名为Fiddler的外部工具(顺便说一句,它是一个很棒的工具)。
Fiddler 是一个代理,并且有一个 C# API 允许您拦截请求。因此,这意味着您可以简单地“指向” Selenium 以使用该代理,然后连接到 Fiddler 的 API 以准确检查请求具有的状态代码。
我只是链接到博客文章而不是给你代码,因为它在这些文章中得到了相当彻底的解释。
也许尝试一下,如果你在实施他的设计时遇到任何问题,然后再回来。顺便说一句,这家伙也是 StackOverflow 的成员,所以也可能会看到你的帖子。
这并不理想,但我将页面文本与以下正则表达式进行比较,因为在我的设置中,文本伴随网页错误:
(?:(access is denied)|(access is forbidden)|(server error)|(not found))