Collects details of the web navigation by establishing the system level proxy with the help of FiddlerCore API for the duration of the execution of the test.
Compile and run the project. It will create proxy and open the browser. in this browser instance, navigatt to some place. The console window will show the collected page element timings. When page it finished loading, stop the process through the IDE. The databse fiddler-data.db
will be in Program/bin/Debug
directory.
Include the following code from Program.cs
into your project
proxy = new Monitor();
proxy.Start();
// your test case here
proxy.Stop();
The duration
is computed from Fiddler session timers as
var timers = fiddler_session.Timers;
TimeSpan duration = (TimeSpan)(timers.ClientDoneResponse - timers.ClientBeginRequest);
Alternatively you can run the Program
as standalone application while you are executing the test step in question.
The OnNotification
, BeforeRequest
and BeforeResponse
events are not currently used.
A replica of SQLite Helper (C#) project sources is included as the Sqlite.Utils
namespace (Utils directory).
This provides low-level, non-LINQ access to SQL database API.
If the FiddlerCore proxy stops abnormally, the 'Use a proxy server for your LAN' setting will remain in the registry:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
Page load and performance metrics provided by Chrome
- FiddlerCore API
- Using FiddlerCore to capture HTTP Requests with .NET
- FiddlerCore dealing with Certificates
- Titanium-Web-Proxy - a leightweight web proxy FiddlerCore alternative.
- Titanium SQLite
- A Network Sniffer in C#
Traffic details
are stored in the SQLite database fiddler-data.db
for measuring page performance at the individual Page element level.
- Telerik has recently unlisted the FiddlerCore nuget package from https://www.nuget.org/. Registration on https://www.telerik.com is required or download https://www.telerik.com/fiddler/fiddlercore - only Personal & Educational use is free. The version numbering scheme is different now: latest available version of FiddlerCore nuget packages is 1.2018.1.13826-beta. The following packages are available - appears, only .Net Standard 2.0 runtime is supported:
FiddlerCore.1.20181.13826-beta.nupkg
FiddlerCore.API.1.20181.13826-beta.nupkg
FiddlerCore.PlatformExtensions.1.20181.13826-beta.nupkg
FiddlerCore.PlatformExtensions.Linux.1.20181.13826-beta.nupkg
FiddlerCore.PlatformExtensions.Mac.1.20181.13826-beta.nupkg
FiddlerCore.PlatformExtensions.Windows.1.20181.13826-beta.nupkg
FiddlerCore.Utilities.1.20181.13826-beta.nupkg
- The browsermob-proxy offers similar functionality for Java - see e.g. http://amormoeba.blogspot.com/2014/02/how-to-use-browser-mob-proxy.html.
- The browserup-proxy is a fork of browsermob-proxy with a better SSL support.
- version 1.1.x.x of the assembly is compiled with .net 4.5. NOTE: app still configured to runn on .net 4.0
- version 1.0.x.x is compiled with .net 4.0