How to stop/kill a looping FiddlerScript

3 posts, 1 answers
  1. John
    John avatar
    2 posts
    Member since:
    Jul 2013

    Posted 18 Jun 2015 Link to this post

    Hi Eric,

    1) congrats on your incredible and marvelous Fiddler, its really awesome, and helps us A LOT !

    2) i couldnt find the answer to my question in the forums and/or other sources - so if i was just too blind to find it, please just direct me there. And i know the thing ill describe is not the standard usage of Fiddler (i also often use it for more mainstream purposes, but i thought to try it for this, and it works like a charm!)

    3) my situation: i have to test a server with certain requests, and put it under a certain average but not uniform load. for that i first captured and saved some specific request/response pairs (some of them json, some not) using fiddler (v4.5.1.2, on Win7sp1/Ultimate/x64/en-us)

    then i slapped together a quick fiddlerscript which does the following: prompt user for a loopcount, and a minimum and maximum delay. then, 'loopcount times', a for-loop replays the selected sessions (using random agentstrings from a list of mine), then waits for a random delay (between min & max), rinse, repeat.. i even added code to allow for multiple selected sessions at the same time, which lets the user enter a probability distribution between the multiple session, which it then uses for the replay, stuff like that.

     4) my question: this works like a charm to create the required random/average load, depending on the parameters i give the script on start. BUT: i cant see a way to STOP the executing script in fiddler forcefully, before the loop ends naturally. Only way i see now is to close the fiddler application itself; then additionally i have to kill fiddler.exe (which still runs the script in the background and keeps throwing the requests from the loop). then i have to restart fiddler, reload all beloved settings (btw, is there a way for example to start with the Composer 'teared off' in separate window by default..?) and all required sessions.

    This 'total kill' procedure is quite tedious every time i have to change some setting. normally i need request-loopcounts around 1000-5000x, because i need to have this load for some time to allow me the tests on my server..

    Is there an intended method of stopping an executing fiddlerscript? i went so far as thinking about out-of-channel stuff/semaphores like adding code in the loop to query for existence of a specific file, and then break the loop when found (allowing me to stop script loop execution by renaming an external 'kill-file')... but this is very awkward - any other ideas or methods?

     

    And again: really, thank you for Fiddler, its a godsend, an incredibly great software helping us developers out !!

  2. Answer
    Eric Lawrence
    Admin
    Eric Lawrence avatar
    833 posts

    Posted 18 Jun 2015 Link to this post

    Hello, John--

    The simplest thing to do would be to go to the Handlers class and add:

       public static ToolsOption("Cancel Run")
       var m_CancelASAP: boolean = false;

    at the top. Inside your method, before your loop runs, add:

       m_CancelASAP = false;

    ...and inside your loop, add:

      if (m_CancelASAP) return;

    If you'd prefer to have your "Cancel" action be invoked from the keyboard instead of your Tools menu, you could update the OnExecAction method with a new "cancel" item.

    Today, there's no public method to "tearoff" the Composer; the UndockBuilder method is private.

    Regards,
    Eric Lawrence
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. John
    John avatar
    2 posts
    Member since:
    Jul 2013

    Posted 18 Jun 2015 in reply to Eric Lawrence Link to this post

    Thanks, perfect, just what i have been looking for !!!

     And again, dont know if i have mentioned this before enough, but: thanks for the incredible work producing Fiddler !

Back to Top