How to Record a Script
Ways to Record a Script
There are the following ways of script recording:
- The script can be recorded using Internet Explorer/Mozilla Firefox and NetStorm Browser.
- WebC and WebJava type scripts can be recorded using Internet Explorer/Mozilla Firefox and NetStorm Browser.
The user needs to perform some pre-requisites actions before recording a script, such as disabling the protected mode from the web browser, clearing the Cache of the browser, cleaning recorder logs, installing some components of Java, clearing the Java cache, and installing the HTTP Analyzer (for Internet Explorer/Mozilla Firefox).
If the user machine is Windows Vista or later then make sure that Protected Mode should be disabled. To check this, follow the below steps:
- Go to Tools > Internet Options > Security The Internet Options dialog box is displayed in the Figure below.
Figure: Internet Option Security
The user needs to clear the cache of the browser and clean the recorder logs.
Before recording starts, make sure that the cache is cleared. For clearing the cache, go to Tools > Internet Option and click the Delete button under the Browser History section as shown in Below Figure
Figure: Delete Browsing History
Clean Recorder Logs (optional)
HTTP Analyzer Tool creates the logs on client machines. When the script stops, the path is displayed in the text area of the recorder window. Logs can be deleted as per the requirements; it doesn’t affect the recording.
The user needs to install JRE and clear the cache.
Note: For environments where the Java version is JDK 11 or higher, you can use dmg. Since JNLP is not supported with JDK 11, place dmg in the server after the build upgrade.
Install Java Components
JRE should be installed on the client machine. To download JRE, click the below link:
- If the Java version is 11 or later, refer to the Download Script Manager
- If the Java version is 8 or 9, refer to any of the sections, either Launch Script Manager or Download Script Manager.
Clear Java Cache
- Go to Control Panel and click the Java icon in the Adjust your computer’s settings dialog box. The Java Control Panel dialog box is displayed.
- Click the Settings button, the Temporary Files Settings dialog box is displayed.
Figure: Create Script using Wizard
- Click the Delete Files button, and the Delete Files and Applications dialog box is displayed.
- Select all checkboxes and click the OK button.
The user needs to install HTTP Analyzer on the machine to record scripts. It captures all the things at the time of recording from the browser which is fetched by NetStorm after recording in a script. To get the HttpAnalyzer, please contact Cavisson Systems Inc. When it is installed, it is displayed on the Tools menu. Click the IE HTTPAnalyzer V5 option to activate it.
Click the Start Recording icon. The script recorder dialog box is displayed.
For opening the Advance Settings dialog box, click the Advance Settings button. Once clicked, the Advance Settings dialog box is displayed.
The Advance Settings section consists of the following tabs:
- Netstorm Browser
- Modify Headers
To perform the General settings, click the General tab. The General settings dialog box is displayed.
There are the following options under the General settings tab:
- Browser Type: The user can set which browser to be used for recording. Available options are – External Browser/Native Apps, Netstorm Browser, and Internet Explorer. Click And Script type scripts can be recorded only by Netstorm Browser. C type script can be recorded by all supported Browsers. By default, Netstorm Browser is selected. Other options are enabled/disabled based on the type of browser selected.
- External Browser/Native Apps: This browser type is used for recording scripts from any non-browser application, such as a mobile app. This browser uses proxy recorder to get http request response and other information about http request. After setting options from Script GUI, set up environment/port for recording from JSP interface.
- Netstorm Browser: This browser type is used for recording C type of scripts. This browser used JxBrowser APIs which used low level Mozilla APIs.
- Internet Explorer: This browser is used for recording Legacy and C type of scripts. This browser used HTTP Analyzer to get http request response and other information about http request.
- Clear cache before recording: By selecting this check box, system cache is automatically cleared before start of a script recording. By default, it is selected.
- Clear cookie before recording: By selecting this check box, cookies are automatically deleted from the system before start of a script recording. By default, it is selected.
Split Page Options
- Split page for Time difference of URL: User can split page depending on the specified time. If the difference between embedded URL’s request start time and its previous URL’s response time is greater than the specified time, then that particular URL becomes main URL. First select the checkbox and then specify the time in seconds.
- Split page option for Specific method: This option is used if user wants embedded URLs with particular method to be split as main URL. The available methods are:
|User can select all methods by selecting the ALL check box.|
- Split page option for Ajax HTTP Header: This option is used to split a page with Ajax header (XMLHttpRequest).
- Split page option for User Click Event: This option is used to split a page with User click.
- Split page option for URL type: This option is used to split a page on specific URL type (like json URL).
External Browser/Native Apps Option
It is used in case of external device, such as tablet is used for recording a script. This option is enabled after selecting the browser type as External Browser/Native Apps. Specify the page boundary time in seconds.
Body Size Option
If body contents exceed the body size given in textbox, then body contents save in new created directory (http_request_body) in script directory.
Real Browser User Script Options
Real Browser User Support is a way of simulating the Internet access & Browsers executing the transaction via “real” browser (Real Browser Users or RBU). RBU’s are much more heavy weight than typical Virtual users as for an RBU NetStorm uses real browser to download page.
- BrowserUserProfile: The entire changes user makes in Firefox, like home page, what toolbars used, saved passwords and bookmarks, are all stored in a special folder, called a profile.
- HarLogDir: Name of the log file where har file is generated. Default name is logs.
- PageLoadWaitTime: Estimated time required to load the page. Default is 30 sec.
- VncDisplayId: Implies vnc server display number. Default is 1.
- HarRenameFlag: Indicates har files should be renamed or not.
- 1: Rename the har file, adding page name to har.
- 0: Do not rename the har. Keep the har file name as generated by the browser.
It is used when user is using Netstorm browser for script recording. Here, user can set the Netstorm browser options and can perform the configuring settings. To perform the Netstorm Browser settings, click the Netstorm Browser tab. The Netstorm Browser setting dialog box is displayed.
Figure: Advance Settings- NetStorm Browser
There are the following options under Netstorm browser tab:
Netstorm Browser Options
Here user can set following browser level options:
- Image Download
- Disable Plug-ins
- Ignore security certificate warnings
- Enable Snapshot Capturing
- Enable PreSnapshot Capturing
- Verify SSL certificate
- Enable checkpoint (applicable for only Click&Type scripts)
|By default all check boxes are selected.|
- Setting User Agent: This option is used set the string in request/response. Default user agent string is Mozilla/4.0 (Windows; U; Windows NT 6.1; en-US; rv:188.8.131.52) Gecko/20111103 Firefox/3.6.24
- Browser Engine: User can set browser engine which is used for downloading. By default, it is Mozilla.
- Open browser in Heavy Weight Mode: In the heavyweight rendering mode, we embed a native window into your Java application window and configure Chromium engine to render content into this native window using GPU. User interaction with displayed web page is done by Chromium engine. Chromium receives and processes mouse/keyboard/touch events using platform specific native functionality. It brings a better support of mouse/keyboard/touch events compared to lightweight rendering mode where NetStorm Browser has to process Java events and forward them to Chromium engine. Therefore, if rendering performance is very important for your application, then we recommend that you use default heavyweight rendering mode.
Configure proxy server for recording
In this section, user can configure proxy server for recording. A proxy server is a server that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server and the proxy server evaluates the request as a way to simplify and control its complexity.
No proxy: By selecting this option, no proxy is applied to access the web server. This is the default option.
Use system proxy settings: If user selects this option, the proxy settings which are set for the system is applied. In case system proxy is already defined, those settings are loaded for any view/updation. Else, it appears as in case of manual proxy configuration. User can configure system proxy settings and save them. System proxy setting would be configurable only from default scenario settings when user login as Admin.
Use manual proxy settings: In manual proxy settings, set up the proxy manually.
The Manual proxy section contains the following options:
Manual proxy configurations
- HTTP Proxy: An HTTP proxy is a category of network setting that can be configured in network (or Internet) accessing applications. Specify the HTTP proxy in the following format: http://ip:port. Port number ranges from 1 to 65535. By default, it is 80.
- SSL Proxy: It routes traffic from a client to web server using the Secure Sockets Layer (SSL) protocol. SSL is an encrypted protocol that creates a secure connection from a client to another client or server. Specify the SSL proxy in the following format: https://ip:port
Port number ranges from 1 to 65535. By default, it is 443.
|To have same proxy server for both HTTP and HTTPs protocols, select the Use same proxy server for both protocols check box. All protocols are using same server and port for all the protocols.|
- Exceptions: Exceptions options get enabled in case Manual proxy configuration check box is selected. To bypass proxy server for local address, specify the local address for example, 168.1.0/24 in the No Proxy for text box then select the Bypass proxy server for local address check box.
- Proxy authentication credential: User’s credentials are verified here. If user selects the Proxy authentication credential check box, the following options are displayed. Enter the User Name, Password and Confirm Password.
|Password and Confirm password values are encrypted and are verified at the back end.|
This section is used to perform header settings and cookie settings for recording a script. To perform these settings, click the Modify Header tab. The Modify Header settings dialog box is displayed.
Figure: Modify Header
The purpose of the header setting section is to manually specify the header name and its value. Users can add more than one header in the script by clicking the More button. Users can also replace or append the header. In the case of Replace, the header specified replaces the existing header. In the case of Append, the specified header is appended to the existing header.
The purpose of the cookie setting section is to manually specify the cookie name and its value. Users can add more than one cookie in the script by clicking the More Cookie button.
In some cases, if the user wants to record headers, such as Referer, or User agent String in the flow file of script NetStorm can send only those headers which are present in the flow file of the script. In this case, the user needs to record all headers in the flow file of the script. For this, the Advanced tab for Header recording is implemented in Script Manager GUI.
Record Headers in Flow File
The following headers options are available in the Advanced tab:
If user selects the All check box, All Headers checkbox is enabled and displayed in flow file of recorded script. User can select any of the header check box provided.
Add Transaction in Flow
You can specify the settings for adding a transaction in the flow file by enabling one of the following options:
- Default: Selecting the Default option adds the transactions (i.e. start transaction and end transaction) automatically to all the pages of recorded script in flow file.
- Custom: Selecting the Custom option enables you to add a transaction in the browser. Also, you can end/rename/remove a transaction by using the Transaction window. Each entered transaction has a Status column indicating the state of the transaction. The following Transaction Status are supported:
- Started: means the transaction has been started.
- Ended: means the transaction has been ended.
- Autoend: means the transaction automatically end after the next page.
Recording with Sample Application
- On the Script Manager UI, click the Start Recording button, the Script Recorder dialog box is displayed.
Sample Application URL (Mercury Tours): http://184.108.40.206:7898/tours/index.html
2. Enter the Script Name, URL to record, Project name, Subproject name and Protocol Category and Click OK. The recording is started and the page specified in the URL text box is displayed.
|User can set advance settings by clicking the Advance Settings button. Advance setting has already been described.|
3. Enter the Member name “hello” and password “world” and click the login
4. Click the “flights” button to find flights.
5. Enter the flight details: (Recording Page-3)
- Select the Departure City as “New York” and Departure Date is default.
- Select the Arrival City “Paris” and Return Date is default.
- Enter No. of Passengers as 2.
- Select Seating Preference as “Window”.
- Select Type of Seat “Coach”.
6. Click the continue button.
7. Select the third option for Flight. Click the continue button. (Recording Page-4)
8. Enter some dummy personal details – Name Address and credit card details. Click the purchase flight button. (Recording Page-5)
9. This is flight confirmation page to confirm the flight. Click the sign off button on left side to logout. (Recording Page -6)
10. This is logout page which confirms that user has successfully logged out. (Recording Page – 7)
11. To finish the recording, click the Stop Recording button on script management window. The Script is created.
12. After creation of script, recorded script page names is displayed.
- Above are the default page names which come automatically from Query String, selecting only the last part of the URL.
- If two pages have same name then it is differentiated by pagename_2 for second page, pagename_3 for third page and so on.
- findflight_3, of recorded script
|User can change the page names by clicking the Change button.|
Debugging Tools Support in NetStorm Browser
Debugging tools support enables a user to view the request / response in script recording using NetStorm browser.
When user clicks the icon, debug mode is ON. User can see the request / response over the network.
Adding Multiple Transactions while Recording a Script
To add a new transaction during the recording process:
- Click the Start Recording button, the Script Recorder dialog box is displayed.
- Click the Advanced Settings button.
- Select the Custom option in the Advanced
- Click OK and start recording.
- Click the Add Transaction button in the browser to open the transaction window.
- Specify the transaction name and click Add button to add the transaction, as shown in following figure:
Renaming/Ending/Removing a Transaction
To rename a transaction:
- Select the transaction you want to rename and click the Rename button.
2. Specify the name corresponding to the selected transaction.
3. Press Enter.
Similarly, to remove/end a transaction, select the required transaction and click the Remove/End button, respectively.
Enable/Disable Auto End Transaction
If you want add the transaction as Auto End, select the option Enable Auto End Transaction. By default, this option is enabled.
Viewing the Recorded Script Structure
Follow the below-mentioned steps for viewing the recorded script structure.
- The flow.c file of Recorded script is displayed by default.
- To view the init_script.c file of Recorded Script, double -click the init_script.c file.
- To view the registrations.spec file of Recorded Script, double-click the registrations.spec file. Parameters and checkpoints are added here.
- To view the exit_script.c file, double-click the exit_script.c file.
Viewing Snapshot of Recorded Script
- To view the snapshot of the recorded script, click the View Snapshot button on the tool bar.
- The script pages’ snapshot is displayed.
- To check the Request/response from snapshot, click the page number of each page. User can also check the main URLs which are followed by the embedded URLs.
Recording Other Scripts
How to create True-Web Client script for load testing (Click and Script):
How to create a TIBCO script for load testing:
How to record a web Java script for load testing:
Viewing Various Reports
User can view various reports generated on the script by clicking the View Reports button. These reports included:
- Summary Report
- Page Dump Report
- Progress Report
- Failure Report
- Page Breakdown
- Page Detail Report
Summary report shows the summarized status of execution of script. It shows total number of executed pages and URLs of script and also shows completed session on execution of script.
- Click the Summary Reports link in the Reports Selection page. The Summary report is displayed:
This report includes following information:
- Test Information
- Other Information
- Click the Close button to close the Summary report.
Page Dump Report
Page dump report shows all executed pages of script in tabular form. This report displays page details, such as Start time, Page Name, Page Status, Page Response Time etc.
- Click the Page Dump link in the Reports Selection page. The Page Dump report is displayed:
This window provides various details on sessions, such as session start time, page name, page status, page response time, parameter substitution, HTTP request, HTTP response body, and HTTP response.
- To view the HTTP response page snapshot, click the page name.
- To view the parameter substitution values, such as parameter name and parameter value, click the Parameter Substitution link.
- To view the HTTP request, click the View link within the Req column.
- To view the response body (the page before loading), click the View link within the RespBody column.
- To view the HTTP response, click the View link within the Resp column.
Progress report shows execution status of script. It shows number of all executed pages, URLs and sessions. Progress report also shows status of execution of all pages, URLs and sessions as fail or success.
- Click the Progress Report link in the Reports Selection page. The Progress report is displayed in the following format:
Failure report shows the detail for any failure occurs due to execution of script.
- Click the Failure Report link in the Reports Selection page. The Failure report is displayed in the following format:
Page Breakdown Report
- Click the Page Breakdown link in the Reports Selection page. The Page Breakdown report is displayed in the following format:
Creating a Page using Action API
Script Manager contains ActionAPI GUI to add Page APIs as functions and updating dump for the added functions. ActionAPI supports various protocols Web URL/HTTP, SMTP Send, POP Get, POP Stat, POP List, FTP Get, DNS Query. Action API for Web URL/HTTP also provides option to add URLs as Inline in Web URL page API. User can also create a page using Action API.
User needs to follow the below mentioned steps for creating a page using ActionAPI:
- Open the flow file of a script and right-click on it. Go to Insert > Action API.
- The ActionAPI dialog box is displayed.
- Enter the following details:
- Page Name: Specify the page name. The page name is of maximum 32 characters. First character must be Alpha. Other characters are Alpha, Numeric or Underscore.
- Protocol: Specify the protocol from the list of protocols, such as Web URL, SMTP Send, POP Get, POP Stat etc.
- URL: Specify the URL. By default, this is the main URL. User can change it to Inline URL using the URL Type option. In case of Inline URL, user can also specify whether the Inline URL is First Inline, Middle Inline, or last Inline URL.
- Method: Specify the method from the list of methods, such as GET, POST, HEAD, DELETE etc.
- Body: User can type the body content or upload body content from a file. In second case, user has the option to upload body from file with no parameters.
- Specify the following advance options which are displayed on clicking the Show Advance Options button.
- Header (s)
- After filling all the required details, click the Preview button to preview the page details.
- Click OK. The page is added to the flow file.
JMeter to Cavisson Script Convertor
You can convert a JMeter script into Cavisson Script using the script convertor provided by Cavisson. Post this, the user can view the converted script in NetStorm Script manager and can view the Scenario via NetStorm’s Scenario UI. To do this, follow the below-mentioned steps:
- On the UI dashboard, go to Script > Script Converter as shown in Figure below.
2. This displays a window with few tabs, select JMeter to Cavisson Script Converter.
Figure: JMeter Script Conversion page
3. Select the project, sub-project, and JMeter script. Once the script is loaded, click the Convert button for its conversion into Cavisson format.
4. The script details, such as thread group, and cavisson script path are populated in a table.
5. To launch the script in Script Manager UI, click the View Script button.
Load Runner to Script Converter
- You can add only web_url and web_submit_data API in the LR flow that needs to be converted to NS flow. If you add any other API, NetStorm will not be able to convert.
- You need to upload a zip file of the LR Script in NetStorm, but the zip file should be created only in Load Runner. If you create the zip manually through the desktop, then NetStorm will not be able to convert it.
- If there are multiple actions in the LR script, then NetStorm might be unable to convert the file.
To convert an LR script, follow the below-mentioned steps
- Select the Load Runner tab.
Figure: Load Runner Selection
2. Select the project, sub-project, and LR script. Once the script is loaded, click the Convert button for its conversion into Cavisson format. A message is displayed that the script has been converted successfully.
3. To view the script with NetStorm Script Manager, click the View Script button.
HAR to Script Converter
The user can convert a HAR script into Cavisson Script using the script converter provided by Cavisson. Post conversion, the user can view the converted script in NetStorm Script manager and can view the Scenario via NetStorm’s Scenario UI. To do this, follow the below-mentioned steps:
- Select the HAR to Script Converter tab.
Figure: HAR Selection
2. Provide/Select the following details:
Figure: HAR Conversion Fields
- Project name and Subproject name where the converted script needs to be stored.
- Script type to which the conversion is needed. For example: WebC(HTTP/HTML) or WebJava(HTTP/HTML).
- Add Transaction: To add the transactions while script conversion.
- Auto Split Pages: Pages are splitted on post, put, head, delete, and JSON URL.
- Create Single Page for each URL: To create separate pages for each inline URL.
- HAR Zip File: Browse for the HAR Zip file.
3. Click the Convert button for the conversion of HAR script into Cavisson script. A confirmation message is displayed stating Script converted successfully.
4. To view the converted script in Script Manager UI, click the View Script button.
5. To view the created scenario, click the View Scenario button.
Converting a Postman Script into Cavisson Script
You can easily convert a Postman script into a Cavisson script by using the Script Manager UI. To convert a postman script, upload the postman collection .json file in Netstorm. There is no need to manually write or create the script in NetStorm.
Note: Only version 1 of postman collection is supported.
To convert a postman script:
- Select Advanced > Script Conversion.
Figure: Postman Selection
2. Click the Postman tab.
Figure: Postman Conversion Fields
3. Select a project and sub-project. By default, the selected project and sub-projects are displayed.
4. Select a script type to which the conversion is needed. For example, WebC(HTTP/HTML) or WebJava(HTTP/HTML).
5. Select the postman collection .json file.
6. Click the Convert button. A confirmation message is displayed stating that the script has been converted successfully.
7. To view the converted script in Script Manager UI, click the View Script button.
8. To view the created scenario, click the View Scenario button.