An interesting example may be an application with a search form such as this one:

<form name="searchform" method="POST" action="search.jsp"> 
       <input type="text" name="name" size="30" value=""> 
       <input type="text" name="city" size="30" value="NY"> 
       <select name="country" id="country"> 
               <option value="US">US</option> 
               <option value="Canada">Canada</option> 
               <option value="China">China</option> 
               <option value="France">France</option> 
               <option value="UK">UK</option> 
       <input type="radio" name="fastsearch" value="YES"> 
       <input type="radio" name="fastsearch" value="NO"> 
       <input type="hidden" name="computedValue" value="4235"> 
       <input type="submit" name="Submit" value="Submit"> 

For example, the computedValue hidden field is generated server-side and is different for each call.

The recorded request looks like this:

During a test, NeoLoad will play back the request using the value for the computedValue parameter as recorded. It needs to be replaced with the appropriate value, so the manual request type must be changed into a Submit a form from the previous request type:

Using <FORM VALUE> as the value for computedValue allows extracting the value generated by the server.

Furthermore, using <FORM VALUE> for the country field means you can choose a random value among those available for this option. Likewise, the fastsearch field will have a random YES or NO value during the test.

Therefore, the Form Extractor not only allows extracting the dynamic values generated by the server, it also allows using the various form choices in a random manner.