Examples of uses of a proxy with WebDriver
C#
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
HttpStatusCodeExample
JavaScriptErrorsExample
WebDriverProxyUtilities
lib
.gitignore
LICENSE
README.md
WebDriverProxyExamples.sln

README.md

WebDriverProxyExamples

A series of examples showing how to use a proxy with the WebDriver .NET bindings. Note that as a set of examples, this repository is not maintained or updated with any regularity. The code in this repository is not intended to be used in a production environment without judicious modificiation by the consumer.

The samples use Eric Lawrence's (now Telerik's) excellent Fiddler proxy, specifically the FiddlerCore component. Launching of browsers is handled by a factory class in a common referenced assembly.

This repository includes the following examples:

HttpStatusCodeExample

A sample project demonstrating how to retrieve HTTP status codes from WebDriver using a proxy. The project uses .NET extension methods to make it appear as though the WebDriver objects have methods to include status codes natively. This is the project referenced in the blog post series about HTTP status codes.

JavaScriptErrorsExample

Building on Alister Scott's suggestion on how to check for JavaScript errors, this sample project demonstrates a method to retrieve JavaScript errors on a page from WebDriver. Though adding error handling code directly to the website's source is a far superior approach and should be preferred whenever possible, the approach outlined here may be particularly useful in cases where you do not have the ability to add that error handling code. There have been other solutions proposed to this problem, but many of them either have the limitation that they don't work across all browsers, or that they cannot process JavaScript errors occuring during the page's onload event. Again, the project uses .NET extension methods to make it appear as though the WebDriver objects have methods to retrieve these errors natively.