Other Settings

Apart from global and group based settings, there are further other settings in Scenario that are listed below:

  • Monitors
  • Server Mapping
  • Real Browser User
  • Mark and Measure
  • SMTP Settings
  • User Profile
  • Java Settings
  • Health Check Settings
  • APM Integration
  • GIT Settings
  • Internet Protocol Address Management
  • Launch SSL Console
  • Multi Node Configuration

Monitors

Monitors are special programs that are used to get Server data, Logs, and to check server status. Monitors can generate data and events.  User can FTP files from server to NetStorm machine.

Click the Monitors section on Scenario Setting window, the Monitors window is displayed.

There are following sections under this:

Enable Hierarchical view in Dashboard: To enable hierarchical view of files in dashboard, select this checkbox and select the topology name, along with vector separator.

Enable NetStorm monitors except: Here, a drop-down list of monitors is displayed along with check boxes. This checkbox is used to enable/disable some Linux based monitors on NSAppliance/NDAppliance. If user selects checkbox of a particular monitor, that monitor is disabled. User can disable all the listed monitors at once, and can search for a monitor too.

  • SystemStatsExtended
  • TcpStats
  • TcpStatesCount
  • UpTime
  • SockStats
  • MPStats
  • DiskStats
  • DeviceStats
  • LPS
  • CMON 

Enable NetOcean monitors except following: This checkbox is used to enable/disable some Linux based monitors on NOAppliance. If user selects only this checkbox, below listed monitors are enabled by default. 

  • SystemStatsExtended
  • TcpStats
  • TcpStatesCount
  • UpTime
  • SockStats
  • MPStats
  • DiskStats
  • HPDAllServicesStats
  • CMON 

User has to specify the Server host/IP in the NetOcean Server Name list.

The user can select a controller to which NetOcean monitors are to be applied. The controller list is enabled only when the  ‘Enable NetOcean Monitor’ check box is selected.

Log Processing System (LPS): This option is used to enable the LPS for log monitoring. If user enabled this option, then needs to give the LPS IP and LPS port. The default LPS IP is 127.0.0.1 and port is 7892.

Scenario Associated Monitor Group(s): This section is used to add desired monitor profile in scenario.

Batch Jobs

There are following sections under this:

65

Scenario Associated Batch Job Group(s): Select the Scenario associated batch job group from the list.

Advanced Settings

There are following sections under this:

66

Continue on Monitor/Check monitor failures in monitors: On selecting this check box, the system continues the process in case failure of monitor/check monitor.

Dynamic monitor: Dynamic Monitors are those monitors whose vectors are not set in scenario file or in monitor profile. Instead, vector names are queried from the monitor using Dynamic Vector interface. On selecting this check box, the test does not stop in case of failure of dynamic monitors.

Pre_test_check_monitors: Pre-test check monitors are used to check the server health before starting a test run. On selecting this check box, the test does not stop in case pre-test check monitors are failed.

Timeout for running pre test check monitors/Batch Jobs: It is the time (in seconds) which is specified for running pre-test check monitors. After reaching this time, the pre-test check monitors are not executed. The default timeout is 15 seconds.

Timeout for running post test check monitors/Batch Jobs: It is the time (in seconds) which is specified for running post-test check monitors. After reaching this time, the post-test check monitors are not executed. The default timeout is 300 seconds.

Enable CavMonAgent Process data monitor for all servers: By selecting this checkbox, NS automatically applies a ProcessDataEx monitor for CavMonAgent of all servers listed in server file.

Enable Server signature for all server which are defined in topology: On selecting this, server signature is enabled for all servers which are defined in topology.

Enable heartbeat on monitors data connection: An agent sends a packet of data to its management server on a periodic basis; by default, once every 60 seconds. This packet of data is called the heartbeat. On selecting this check box, heartbeat on monitors data connection is enabled.

Enable monitors connection retry: On selecting this, monitors retry is enabled up to the counts specified. By default, it is 64.

Enable check monitors connection retry: On selecting this, check monitors retry is enabled up to the counts specified. By default, it is 64.

Enable server signature on all servers topology: User can disable all/enable all or set the auto mode. In case of enable or auto mode, user needs to specify the retry count, threshold value, and recovery threshold time (in seconds) for java processes. By default, it is 5, 300, and 900 respectively.

Dynamic vector timeout: User needs to specify the dynamic vector time out in seconds.

Dynamic vector monitor retry: User needs to specify the dynamic vector monitor count. By default, it is 2.

Coherence monitor NodeID Table size: User needs to specify the table size for coherence monitor Node ID. By default, it is 256 MB.

Skip vector whose either tier/server/instance not present in topology: On selecting this check box, those vectors whose tier/server/instance is not present in topology are skipped.

Enable Heroku Monitors: On selecting this check box, the Heroku monitors are enabled.

Server Mapping

NetStorm maps the recorded host (name of the host where the script was recorded) to the actual host (which is being tested). This maps one recorded host to one or more actual servers and their locations.

The mapping is kept in a table in shared memory. NetStorm picks a random entry that maps a given recorded host to an actual server when it makes a new connection and connects to this server. The recorded server > actual server mapping is fixed for a session.

When the URL is a redirection type, the request may be re-directed to another (recorded) host whose mapping is not present in the shared table. Since the script does not contain this new recorded host upfront, it cannot be added in the shared table and it would result in an error during parsing of the script.

By default, Recorded hosts are used at the time of test run (session replay). But, a different hostname (for sending requests to) may be specified for the test runs. This may be important for the situations when the session recording is done with one server but may have to run the same session against different servers.

For example, in a typical situation, there may be one server setup for development, one for QA, one or more for performance and one for staging environment etc. In this situation, tests may be recorded once but may be replayed against any server setup, by mapping the recorded server(s) to actual hosts(s).

Need for Mapping

  • Server mapping is needed to map one recorded host to another one or more actual hosts.
  • Recorded-host is the host name as recorded at the time of session recording.
  • Recorded and Actual hosts names are specified in the format hostname: port.

For example, 10.10.30.7:81

  • A special character, dash (-) can be used as a placeholder to specify the server location as default server location. For example: rediff.com –

Click the Server Mapping link on the Scenario Settings section, the Server Mapping window is displayed.

Server Mapping window contains following options:

  • Mapping Mode
    • Single Server Mapping
    • Multiple Server Mapping
  • Static Mapping
  • Default Server Location

Mapping Mode

Server name (or IP Address) to which requests are sent during session capture is recorded as part of recording. There may be one or more recorded servers, if the requests have been sent to multiple servers by way of directly entering the server name as part of URL, or clicking a link or indirectly accessing the in-lined images, during session capture.

Mapping modes are of two types:

Single Server Mapping

In Single Server Mapping, One recorded server maps to one actual server. This encompasses one to one and many to one mapping from recorded host to actual host. When user selects this option, actual-host-location may be omitted. In this case, DEFAULT SERVER LOCATION is assumed to be the server location.

Assume that the server against which user plans to run the tests is 10.10.30.7 and further assume that in real deployment, the server is located in San Francisco. To define this server mapping, select 10.10.30.7 from the Recorded server list, specify 10.10.30.8 in Actual Server and select San Francisco from the location list.

Now, if the NetStorm runs, it accesses the URLs from 10.10.30.8 and not from 10.10.30.7. NetStorm simulates Internet appropriately with Server being located in San Francisco and the user community as defined by user profile.

Multiple Server Mapping

In Multiple Server Mapping, One or more recorded server maps to multiple actual server. When a recorded host is mapped to multiple actual hosts, requests are sent to actual hosts in round robin fashion.

Now, if the NetStorm is run, it accesses the URLs from 10.10.30.8 and 10.10.30.9 and not from 10.10.30.7. NetStorm simulates Internet appropriately with Servers being located in San Francisco and New York and the user community as defined by user profile.

Static Mapping

This mapping is used where an IP can be assigned corresponding to a host. The user can add / delete / update a host and can assign an IP corresponding to it.

To add a host

  1. Click the Add button.
  2. Select the Hostname from the drop-down, provide IP, and click OK.

Note: On selecting ‘Others’ in the Hostname, the user can type the Host name in the text box.

Advanced Settings

Default Server Location

User can set the default server location from the Default Server Location drop-down list.

Use same Actual Server in single session (Server Select Mode settings): This option is used to decide whether the same host is needed for both HTTP and HTTPS request for a particular session.

The recorded hosts getting mapped to same number of actual hosts are mapped to actual host having same index with respect to their recorded host. It is applicable in case of multiple server mapping.

Add Recorded Host

A user can add Recorded Host from Scenario UI in Server Mapping within Advanced Setting to generate load on the specified IP. The user can enter a Recorded Host name in a text box and select Scheme type from drop-down list. Then, those entries are reflected in a table.

  1. Click the Add button.

2. Provide the recorded host name and select scheme type from the list.

3. Click OK.

4. The record is reflected in the table.

Functions on the Server Mapping window

Add: This button is used to add the Recorded server address, actual Server address and location. If one recorded server maps to one actual server is selected then recorded server address, actual Server address must be different.

Steps to add Recorded server, Actual server and Location:

  1. Click the Add button.

  1. Provide the Recorded Server, Actual Server and Location.

Delete: This button is used to delete the selected recorded server address, actual Server address and location.

Steps to Delete Recorded server, Actual server and Location:

  1. Select the Recorded server, Actual server and Location.

  1. Click the Delete button.

Update: This button is used to update the selected recorded server address, actual server address and location.

Steps to Update Recorded server, Actual server and Location:

  1. Select the Recorded server, Actual server and Location which user wants to update.

2. Selected record gets inserted in the input line text box.

3. Selected record is displayed in a new window.

4. Update the record.

Real Browser User

The Real Browser User support is a way of simulating the Internet access and browsers executing the transaction via “real” browser (Real Browser Users or RBU). RBUs are heavily loaded as compared to the load generated by typical Virtual Users as an RBU uses real browser to download web page components. Traditional monitoring only simulates HTTP protocol. Whereas, RBU uses multiple connections, renders a page, creates a DOM, and executes JavaScript which is not done by a simple HTTP web check.

Features

  • Automate Manual Testing: RBU can perform functional and performance testing of web-based applications (desktop and mobile versions) and associated services.
  • Client-Side Testing: Quantifies the superiority of user experience by viewing a stream of real browser / application render duration and page snapshots while your tests run. It enables you to begin testing within minutes which quickens the subsequent process of analysis. Hence, the operational expenses get minimized.
  • Server-Side Analysis: RBU can be integrated with Cavisson Application Performance Monitoring solution (NetDiagnostics) so that you can analyze the anomalies in the transactions that are executed in Performance Testing solution (NetStorm).
  • Lighthouse Integration: RBU is integrated with Lighthouse to extend analysis and automate reporting capabilities, such as HTML report, Lighthouse Average report, and Lighthouse Detail report for improving the quality and performance of web pages. It enables audits for performance, accessibility, progressive web apps, recommendations, and more.
  • Instrumentation Capability: The performance testing and analysis of asynchronous call is difficult. RBU makes it easier by providing more insights of CPU, FPS, User Timings, Bottom-Up Call Tree, and others. For example, CPU utilization for each script, function, and its child calls.

Browsers Supported

Real Browser User feature is supported in Google Chrome and Mozilla Firefox browsers.

Note: The latest Chrome version (ver. 78) is supported.

Metrics Captured

  • Response time
  • Rendering time
  • Page status code
  • Network time
  • Page availability
  • Off-load time
  • Page score

Visual and Waterfall Comparison

RBU facilitates you to compare the visual progress stats and waterfall components of two web pages.

RBU Process

For enabling and configuring RBU settings, perform the following steps:

  1. Record RBU scripts.
  2. Configure RBU settings, such as Lighthouse, video settings, and advance settings in scenarios.
  3. Perform Test runs.
  4. View reports, such as lighthouse report, sessions report, and video output.

Record RBU Scripts

The RBU Script Recording process can be divided into two parts:

  1. Launch the Script Manager.
  2. Perform RBU Script Recording.

Launch the Script Manager

Perform the following steps to launch Script Manager:

  1. Login to NetStorm.
  2. Click the Toggle menu and select View > Scripts > Launch Script Manager

3. The system prompts to open recorder.jsp file. Select the Open with option and click OK.

Note: The procedure for launching the Script Manager may vary based on the browser and other settings.

4. The following Security Warning message is displayed. Click the Continue option.

5. Click the Run button.

6. Click on OK button. Now, the Script Manager window is displayed.

Record an RBU Script

After launching the Script Manager, you can record an RBU script by performing the following steps:

  1. Select Project > SubProject where you want to save the recorded script.

2. Click the Start Recording button.

3. Click the Yes button for confirmation. The following dialog box is displayed after you have confirmed:

Provide the following details:

    • Script Name
    • URL
    • Project and SubProject name by using drop down option
    • Select WebClickAndScript in Protocol Category

Note: For RBU Script Recording user need to select WebClickAndScript option in Protocol Category.

  1. Click OK. The Script Manager will redirect to the URL provided in step 3.
  2. Record the flow as per your requirement.
  3. Click the Stop Recording icon to stop the recording. After the recording is stopped, your script will open in the Script Manager window.

XPath Settings

The RBU Script Recording process is based on user click and action and during recording what the user will select will capture the Xpath of that action/click. If the Xpath of that particular changes dynamically then the user needs to modify the script with unique Xpath this is to overcome of transaction failure during Running Test.

Refer to the following links for modifying the Xpath:

  • https://www.softwaretestinghelp.com/css-selector-selenium-locator-selenium-tutorial-6/
  • https://www.lambdatest.com/blog/chrome-extensions-to-find-xpath-in-selenium/
  • https://www.guru99.com/xpath-selenium.html#:~:text=XPath%20in%20Selenium%20is%20an,webpage%20using%20HTML%20DOM%20structure.

Configure RBU Settings in Scenario

Perform the following steps to start RBU in NetStorm:

  1. Access NetStorm by providing your user credentials.
  2. Create/open a scenario in NetStorm.

3. Click the Real Browser Settings section on the left panel. The following RBU options are displayed:

4. Select the Run virtual user as real browser user check box to run the virtual user as real browser user.

5. Select a group. By default, the RBU Settings are saved in the Default group. You can also select a new group for saving the RBU settings. Select the required group from the Add Group drop-down list. A new tab appears with the selected group name, as shown in the following figure:

 

Configuring RBU Settings

You can configure the following RBU settings in NetStorm:

  • Lighthouse settings
  • Video settings
  • Content Delivery Network (CDN) settings
  • User Agent settings
  • JS Profiler settings
  • Advanced settings

Configuring Lighthouse Settings

Lighthouse is an open-source, automated tool for improving the quality of web pages. You can run the lighthouse feature against any web page, public or requiring authentication. It includes audits for performance, accessibility, progressive web apps, and more.

To enable lighthouse reporting, select the Enable Lighthouse Reporting option to generate an HTML report along with Lighthouse Average and Detail reports.

Note: NetStorm RBU supports Lighthouse version 5.6.0 that enables you to validate RBU Lighthouse report with the report created with its extension on chrome.

Expand the Lighthouse Settings section to specify the lighthouse configuration:

You can enable/disable network throttle in the Lighthouse Settings section. Network throttle is enabled only if you enable Lighthouse. It also enables download throughput, upload throughput, and network latency. These fields only accept value greater than 0. If user tries to provide value less than and equal to 0, an error message is displayed.

Configuring Video Clip Settings

Expand the Video Clip Settings section in the Real Browser User Settings window:

  • Video clips of resolution: Enabling this option allows you to specify the resolution and time duration of a video clip.
  • Capture only when: Enabling this option allows you to specify the DOM Threshold and Onload Threshold value for capturing data.
  • Capture rendering metrics without saving video by taking clips: In this field, user can specify the resolution of clips on which rendering metrics are captured without saving video.
  • None: Disables all the Video clip settings options

Configuring Content Delivery Network (CDN) Offload Settings

Expand the Content Delivery Network (CDN) Offload Settings section

Note that the CDN offload is always enabled for main URL domain. To enable CDN offload for additional domain, select the check box and enter these domains. For multiple domains, use semicolon.

Configuring User Agent Settings

Expand the User Agent Settings section:

Select the option for user agent string. There are following options:

  • Use browser’s default user agent
  • As per user profile
  • Use custom string – In this case, specify the custom string

Configuring JS Profiler Settings

Expand the JS Profiler Settings section to analyze the runtime performance of the page(s) of an application.

You can specify the following settings for enabling RBU profiling:

  • Enable JSProfiler (Supported only for Chrome Browser): Select this option to analyze the page performance results.

Note: Selecting the ‘Enable JSProfiler’ checkbox, a popup message is displayed if the selected browser version is less than Chrome 68 and prompts the user if still wants to use JS profiler with the older version.

  • Timeout for saving the JS Profiler data: Specify the timeout for saving the JS Profiler data. This rage is between 10-60 seconds.
  • Capture Screenshot: Enables you to collect page screenshot and observe how the page was evolving during downloading.
  • Capture trace until the network becomes idle:  Enabling this option, the user can capture every single call until the network becomes idle. The default value is 5 seconds. In RBU, you need to capture a har file, which helps to capture every minor calls.

Advance Settings

There are following settings under this:

  • Override browser profile settings from the provided profile (with absolute path)
  • Save HTTP response body. This is needed for page dump without taking snapshot. Also, it can be viewed from waterfall screen.
  • Capture page snapshot. If this is enabled, page dump will show the snapshot instead of HTTP response.
  • Generate alert due to script run time errors.
  • Enable browser screen size simulation as per user profile.
  • Capture Time to Interact (TTI) metrics. TTI is captured using specification provided in primary content profile specified in ns_browser_url API in the script.
  • Specify additional origin domains. Multiple domains are separated by comma.
  • Select the browser version of chrome and Firefox from the drop-down list.

Script Parsing and Data Uniform Resource Identifier (URI)

1. Enable Run virtual users as real browser user.

2. For Script Parsing Time and Data URI, go to the Advance Settings in Real Browser User Settings.

3. Enable Capture JS processing time in Waterfall and Capture BLOB request in Waterfall.

4. Save the scenario by clicking the Save button on the upper left corner of the window.

5. Run the Test by clicking the Play button on the top of the screen.

6. Upon clicking the Play button, the Start Scenario screen opens, enter the Test Name and click Start Scenario to start the scenario, or Cancel to cancel the process.

7. After the test is complete, validate Script Parsing and Data URI.

The following steps are to be performed:

  • Go to NetStorm home page, click Total Test(s) under Test Assets Summary.
  • Search your Test Run (TR) number and click the Apply button.
  • Now, under Test Run field, click on the searched TR number. This opens the Test Dashboard.

8. Go to Reports > Ready > Ready Application > Page Detail Report.

9. Under Page Name column, click any page, for example, Home.

10. Click the required Page Name to open the Page Detail Reports. Here, the user clicks the particular Page Name once again to open the waterfall.

The waterfall is displayed in the image below.

11. To view the Script Parsing of URL is displayed by hovering cursor over the color bar.

12. For Data URI, scroll down to the Page Detail Report to GET DATA URI.

                 This feature runs only on Chrome.

Capturing the Size of Cookies

You can capture the size of cookies in a HAR file for every Request and Response data, which is reflected in the Waterfall window. The size of the cookies might impact the performance of a Web page as whenever a request is sent to a server for some element, such as an HTML file, a CSS file, or an image, the browser sends the cookie in the request to the server, which means that the cookie size grows with each request and this hampers performance.

Capturing the size of cookies helps in estimating the size of cookies for each request and response. This not only keeps check on cookies limit, but also helps in boosting page performance.

Move Downloaded File in RBU

To move downloaded file in RBU, follow the below mentioned steps:

1. Enable Move Download File Inside Test Run Directory.

2. Save the Scenario.

3. Run the Test by clicking the Play button on the top of the screen.

4. Upon clicking the Play button, the Start Scenario screen opens, enter the Test Name and click Start Scenario to start the scenario, or Cancel to cancel the process.

5. After the test is completed, validate Move Download from:

  • Go to NetStorm home page, click Total Test(s) under Test Assets Summary.
  • Search your Test Run (TR) number and click the Apply button.
  • Now, under Test Run field, click on the searched Test Run (TR) number.
  • This opens the Test Dashboard (as shown in the image below).

6. Click Actions > Download File.

7. To browse a downloaded file, provide a path such as: /home/cavisson/work_2/logs/TR Number/20181211122957 (Partition Number)/rbu_logs/downloads/NSAppliance-work_2-cavisson-TR8400-1-1/ (file to be downloaded)

8. Click Download to download the file on browser.

This feature runs on both – Chrome and Firefox.

Mark and Measure

The Mark and Measure feature enables you to improve the performance of your scripts by measuring the time taken by the scripts. Using this feature, you can apply timestamps in a scenario to decide which parts of the script can be optimized. Based on the applied timestamps, you can generate graphs of specific timestamp. Mark specifies the start duration graph only, and Measure signifies the start time and the duration graph both. The following statistics are displayed by using the Mark and Measure feature:

The Mark and Measure feature is available only for an RBU-enabled test and all the data is captured in an HAR file. To measure the performance characteristics of a Web-application, NVSM/RBU capture the mark and measure timestamps that are stored in the HAR file.

  • Mark: Mark is a timestamp that is created in the browser’s performance entry buffer with the given name.
  • Measure: Measure is a named timestamp between two marks, the start mark and end mark, respectively.
  • Timestamp: Here, timestamp refers to the time elapsed since the page has started loading or the start mark in case of measure.

Enabling the Mark and Measure Feature

To enable the mark and measure feature in NetStorm:

  1. Open/create an RBU-enabled test scenario.
  2. Click Real Browser User Settings in the Scenario window.
  3. Expand Advanced Settings in the Real Browser User Settings.
  4. Select the Run virtual user as real browser user checkbox.
  5. Select the Mark and Measure checkbox, as shown highlighted in the following figure:

6. Save your settings.

Viewing the Mark & Measure Statistics

After configuring the RBU settings, you can run your test scenario and analyze the results by generating the Average Mark and Measure Stats from Page Average Report.

Viewing Page-wise Mark and Measure Statistics

To access the Mark and Measure statistics for a page, you need to open the Page Average Additional Reports. To open this report:

  1. Select Reports > Ready> Ready Application > Page Details Report.

2. The Page Average Reports page is displayed in a new browser:

3. Click the required page name link to display the Page Average Additional Reports page.

The Page Average Additional Reports window provides average information for a particular page displaying the:

  • Mark Statistics table
  • Measure the Statistics table

Mark Statistics

In the Mark Statistics section of the Page wise Mark Statistics, you can analyze the information about the average, min, max, 90% tile and 95% tile of the Mark Start Time for a particular page.

The details of Mark Statistics table are described below:

FieldDescription
Start Time

 

Start time is a timestamp since the page has started loading to mark a certain event in a page.

This start time is the average of all the start time for a particular Mark present in all the session of selected page.

Duration

 

Duration is the timestamp between two marks i.e. start mark and end mark, it can also be referred to as the timestamp of Measure. In case of Mark it will always be 0.

 

MinThis column shows the minimum Start Time among the Marks present in the multiple session of a page.
MaxThis column shows the maximum Start Time among the Marks present in the multiple session of a page.
90% tile:

 

This column shows the 90th percentile of Mark’s Start Time present in multiple session of a page.
95% tile:

 

This column shows the 95th percentile of Mark’s Start Time present in multiple session of a page.
CountThis shows the count of Marks in all the session of a page

Measure Statistics

The page-wise Measure Statistics table provides information about the average, min, max, 90% tile and 95% tile of Measure Duration in a particular page.

Following is the screenshot:

In the Measure data, columns of the Measure table play same role as discussed in the “Page-wise Mark Statistics table” except here min, max, 90% tile ,95% tile and count are calculated for Duration instead of Start Time and here we show statistics of Measure instead of Mark.

Note: The duration, start time, min, and max values are allowed in milliseconds. Time will be shown as a whole number value rather than decimal as data in DB is present in whole value.

Viewing Session-wise Mark and Measure Statistics

To access mark and measure for a specific session:

  1. Select Reports > Ready> Ready Application > Page Details Report.
  2. Click the icon in the Action column to open the “Page Average Additional Information” window for Marks and measure stats for that session.

The following Page Average Additional Info screen is displayed:

Note: If you access the Mark and Measure statistics from the “Page Detail Reports”, you will not be able view the average, min, max of Page Load, On Load, and Dom Content load time. Only data related to that session will be shown in Page Additional Info table.

In the Page Average Additional Info screen, data for Mark and Measure will be shown similar to the page-wise Mark and Measure Statistics UI. However, for session-wise display, the average, min, max, 90%tile and 95% percentile will not be calculated. If two same marks are present, they will be shown separately and the count column will always be one. For example, if there are two marks of the same name (ABC) with value as 1200 (ms) and 1300 (ms) then table data will be displayed as follows:

Name  Start Time   Duration   Avg     Min       Max     90%    95%

ABC       1200                0           1200    1200     1200   1200  1200

ABC       1300                0           1300    1300     1300   1300  1300

If there is only one mark named ABC with 1100(ms) then table data would be like:

Name  Start Time   Duration   Avg     Min       Max     90%    95%

ABC       1100                0           1100    1100     1100   1100  1100

The above concept will also be applied for Measure in Session wise Mark and Measure Statistics UI.

Phase Interval

The Page Load Time is measured as the time from the start of the initial navigation until there were 4 seconds of no network activity after Document Complete. This usually includes any activity that is triggered by JavaScript after the main page loads (onload event). If any request is initiated after 4 seconds, it is considered to be in another phase and its timing will not be included in page load time.

The user can provide phase interval through an attribute “PhaseInterval” for a particular page.

Syntax: “PhaseInterval=<time in ms>”

Example:

ns_link(“login”, “url=http://10.10.70.8:9019/cgi-bin/reservation”, “type=IMAGE_LINK”, “action=click”, attributes=[“border=0″,”src=/tours/Merc10-dev/images/flights.gif”,”width=95″,”alt=Search Flights Button”,”height=25″], “xpath=HTML/BODY[1]/TABLE[1]/TBODY[1]/TR[2]/TD[1]/TABLE[1]/TBODY[1]/TR[1]/TD[1]/CENTER[1]/TABLE[1]/TBODY[1]/TR[1]/TD[1]/A[1]/IMG[1]”, “tagName=IMG”,  “PhaseInterval=4000”, “Snapshots=webpage_1502361890909.png”);

It has been observed that page was loaded in 30-40 secs only, as network became stable after it. After a gap of 4 minutes, 3 more XHR requests came into network, which is not considered in Page Load Time ideally. These requests are considered to be in different phase as the gap is more than four seconds.

Start Test Run

After configuring RBU settings, you can run your test and view results. To start a test run:

  1. Save the scenario by clicking the Save button on the upper left corner of the window.

2. Run the Test by clicking the Play button. The Start Scenario window is displayed.

3. Enter the Test Name and click Start Scenario to start the scenario, or Cancel to cancel the process.

4. After the test is complete, you can validate your data and view reports.

View Reports

After configuring the RBU settings, you can save the configuration and analyze the results by generating various reports. This section provides information about the various types of reports that can be created in NetStorm.

Page Detail Report

Using the Page Detail Reports feature, you can analyze the details of a user session, such as the average page detail, session details, user requests, waterfall report, and page score.

The Page Detail Reports feature enables you to generate the following types of reports:

  • Average Page detail report
  • Session details
  • Request Detail Report
  • Content Stats
  • Waterfall Report
  • Page Score
  • Clips
  • Visual Progress
  • Video
  • Comparison
  • Waterfall
  • Average Reports

Accessing the Page Details Report

  1. Log into NetStorm using your credentials.
  2. Open the test run where RBU is enabled.

  1. Select Reports > Ready> Ready Application > Page Details Report.

  1. The Page Average Reports page is displayed in a new browser.

  1. Open the required page name link to display the Page Detail Reports page.

Page Average Report

The Page Average Report window provides information about the page being displayed including host name, browser, screen size, and browser cache, as shown in the following figure:

The following table provides information about the data displayed on this window:

ColumnDescription
ActionClicking the  icon in the Action column displays additional information about the selected page.
Page nameDisplays the page name that is being analyzed.
Host nameSpecifies the host name.
GroupSpecifies the group number.
Screen SizeProvides the screen size, such as 1920*1080.
BrowserSpecifies the type of browser used for accessing the page, such as Chrome or IE.
Start Date TimeSpecifies the page hit time or page started date time.
End Date TimeSpecifies the page display time.
DOM Content Load
  • Dom Complete is the time immediately before the user agent sets the current document readiness to ‘complete’.
  • Specifies that the page and all of its sub resources are ready.
  • Specifies that the processing is complete and all of the resources on the page (images, etc.) have finished downloading
On Load (Sec)Specifies the network time: based on how speedy the internet connection is and how swiftly static assets like photos and other files are served up

 

Page Load (Sec)Specifies how much time it takes for the browser to parse and execute the document and render the page to make it available for user interaction
Time to InteractTime to interact is the point when a user can interact with a web page element once the page has rendered. After a shopper clicks on the add-to-cart button, for example, TTI measures the time it takes for the interactive element on the next page to become usable, such as the checkout button.
Start Render Time (Sec)The Start Render time is measured as the time from the start of the initial navigation until the first non-white content is painted to the browser display.
Visually Complete Time (Sec)Specifies the time from the start of the first request to when the page is completely rendered. A point-in-time metric measures when the visual area of a page has finished loading.

In RBU, this is calculated by capturing a clip of the page loading in the browser and comparing size of each clip.

RequestsSpecifies the total number of request excluding the browser cache-type request.
Browser CacheSpecifies the total number of browser cache requests.
Bytes received (KB)Download Bytes of all resources.
Bytes Send (KB)Sent Bytes for all resources.
Page StatusSpecifies the page status, such as success or failure.
Viewing Page Average Additional Information

To gather more information about a page, click the  icon in the Action column of the Page Average Report window. For example, this page specifies the minimum, maximum, and average time for OnLoad, Dom content, page load, and visually complete time. The Page Average Additional Info window is displayed in the following figure:

Page Detail Reports Overview

After accessing the Page Average Reports window, you can view more information about the pages on the Page Details Reports window. This window provides details of the user HTTP session, such as DOM start time, on load time, bytes sent and bytes received.

To access the Page Detail Reports:

  1. Click the required page name in the Page Average Report window, as highlighted below:

2. The Page Details Report is displayed, as shown below:

The Page Detail Reports window provides information described in the following table:

FieldDescription
ActionProvides session details and videos of the recorded user session.
Page NameDisplays the page name that is being analyzed.
Host nameSpecifies the host name.
Device InfoProvides information about the device, such as desktop, type of browser.
Screen SizeProvides the screen size, such as 1920*1080.
BrowserDisplays the browser name in which the test is executed, such as Chromium-browser/Firefox.
Start Date TimeSpecifies the page hit time or page started date time
End Date TimeSpecifies the page hit time or page started date time
DOM Content Load·         Dom Complete is the time immediately before the user agent sets the current document readiness to ‘complete’.

·         Specifies that the page and all of its sub resources are ready.

·         All of the processing is complete and all of the resources on the page (images, etc.) have finished downloading

On Load (Sec)Specifies the network time: based on how speedy the internet connection is and how swiftly static assets like photos and other files are served up

 

Page Load (Sec)Specifies how much time it takes for the browser to parse and execute the document and render 11the page to make it available for user interaction
Time to InteractTime to interact is the point when a user can interact with a web page element once the page has rendered. After a shopper clicks on the add-to-cart button, for example, TTI measures the time it takes for the interactive element on the next page to become usable, such as the checkout button.
Start Render Time (Sec)The Start Render time is measured as the time from the start of the initial navigation until the first non-white content is painted to the browser display.
Visually Complete Time (Sec)Specifies the time from the start of the first request to when the page is completely rendered. It is a point-in-time metric that measures when the visual area of a page has finished loading.

In RBU, this is calculated by capturing a clip of the page loading in the browser and comparing size of each clip.

RequestsSpecifies the total number of request excluding the browser cache type request.
Browser CacheSpecifies the total number of browser cache requests.
Bytes receivedDownload Bytes of all Resources.
Bytes SentSent Bytes for all Resources.
Page StatusSpecifies the page status, such as success or failure.

Viewing Session Details

From the Page Detail Reports window, you can analyze the user session details such as device info, waterfall report, page load time, visually complete time, and the bytes of data sent and received.

To view session details, click the  icon present in the Action column of the Page Detail Reports window. The Session Detail window is displayed, as shown below:

Waterfall Summary

On the session detail page, you can view the waterfall summary by clicking the required page name on the Page Detail Reports window. A waterfall summary is displayed, as shown below:

Viewing Request Details

The Request Details report provides information about the pages requested by the user, any issues faced while accessing the pages, and URL details of the accessed pages.

To access the Request Detail:

  1. Click the required link in the Request Column either in the Page Average Report window or Page Average Report window, as shown highlighted below:

2. View the Request Details window, as shown below:

The Request Details window consists of three sections:

  • Request Page Details
  • Top Bottlenecks
  • URL details Information table

Request Page Details section

The following section of the Request Detail Page window provides information about the runtime, browser type and additional information:

  • Page Start Time : Specifies the page hit time or page started date time.
  • Browser: Provides information about the browser type, such as Chromium-browser/Firefox.
  • Page Response(ms) : The time it takes for each Web page to load is known as Webpage Response time.
  • DOM Complete(ms) :
    • Dom Complete is the time immediately before the user agent sets the current document readiness to ‘complete’.
    • It simply means the page and all of its sub resources are ready.
    • All of the processing is complete and all of the resources on the page (images, etc.) have finished downloading
  • Response(ms) : Main URL response time.
  • DNS(ms) : Time spent performing the DNS lookup. Every new domain on a page requires a full roundtrip to do the DNS lookup.
  • Connect(ms) : Time required to create TCP connection. Use -1 if the timing does not apply to the current request.
  • Wait(ms) : Waiting time for a response from the server.
  • Load(ms) : load time is made up of two different parts:
    • Network and Server Time: based on how speedy the internet connection is and how swiftly static assets like photos and other files are served up
    • Browser Time: how long it takes for the browser to parse and execute the document and render 11the page to make it available for user interaction
  • Request: It is the total number of request exclude browser cache type request.
  • Browser Cache: It is the only total number of browser cache request.
  • Main URL Redirects: Number of URL which are redirect, for example if user type google.com then it redirect to google.co.in.
  • Main URL Redirect Time: Time taken to redirect Main URL to Redirect URL.
  • Host: Total number of host name.
  • Download Bytes: Download Bytes of all Resources.

Top Bottlenecks

The following figure displays the Top Bottlenecks sections of the Request Detail window:

The following information is displayed:

  • Top Bottlenecks: Specifies the top N host names that are creating a bottleneck for the page.
  • Blocking
  • Slowest DNS (Total DNS Lookup)
  • Slowest Connect (Total Connect)
  • Slowest Wait
  • Slowest Load

URL details Information table

The following figure displays the URL details section of the Request Detail window:

You can also filter the information with various options (with their value/ range).

The following information is displayed:

  • Attribute : There are three types of attribute –
  • Resource
  • Protocol
  • Connection
  • # : It shows the  Url’s Sequence Number
  • Path/File: It shows the resource name.
  • Host Name : It shows the host name of URL.
  • Host IP Address : It shows the Host IP address.
  • Code: The HTTP status code.
  • Domain Type: It can be MyDomain or Third Party. if the request is matched with the domain_list then it is from MY Domain else it is from Third Party
  • Served By: It shows url’s served by (like Akamai, Browser Cache, Cloudfront, Strangeloop, Third Party)
  • Content Type: The MIME type of the requested resource.
  • Size: The size of the response body, as delivered by the server. (In chrome developer definition – The combined size of the response headers (usually a few hundred bytes) plus the response body)
  • DNS: Time spent performing the DNS look up. Every new domain on a page requires a full round trip to do the DNS look up.
  • Connect: Time it took to establish a connection, including handshakes or retries .
  • Wait: Time spent waiting for the initial response, also known as the Time To First Byte. This time captures the latency of a round trip to the server in addition to the time spent waiting for the server to deliver the response.
  • Download: Time spent receiving the response data.
  • Start: It is the request start time.
  • Response End: It is response time when request ends with data is retrieved.

Viewing Video Recordings

On the Page Details report window, you can also view clips, graphs, and videos of the requested pages. Click the  icon to open the Test Result Index page. You can view the following:

Clips

View clips, which are snapshots or page dumps.

Viewing Visual Progress

You can also view the graphically by expanding the Visual Progress link on the Test Result Index page:

Viewing Videos

Expand the Video link on the Test Result Index page to play the recorded video:

Viewing Page Score Report

You can view the page score report to improve the performance of a page. This report provides recommendations for enhancing the page performance.

This UI is used to represent the overall score of a particular page. Overall score of a page indicates how well we got the response for a particular page while processing it.

To view the page score report:

  1. Click the Page Load link in the Page Detail Reports window, as highlighted below:

2. The Page Score Report window is displayed:

This overall score is calculated based on number of dynamic PageSpeed factors. Some of them are listed below:

  • Minimize DNS lookups
  • Combine external JavaScript
  • Minimize redirects
  • Combine external CSS
  • Leverage browser caching
  • Minify JavaScript
  • Minimize request size
  • Specify a cache validator
  • Enable compression
  • Minify CSS
  • Minify HTML

Analyzing the Time to Interact

Using the Time to interact (TTI) link, you can identify the point when a user can interact with a web page element after a page has rendered. The TTI Reports window provides an indicator of the overall site performance as it directly affects user experience.

To open the TTI Reports window:

  1. Click the required link in the Time to Interact column, as shown highlighted below:

2. The TTI Reports window is displayed:

App Profiling

Using the App Profiling feature, you can analyze the impact of a test application on end-user mobile. The various metrics, such as CPU, Memory, Battery, and Network ca. You can now view the app profile statistics in the Page Detailed Report.

For analyzing the app profile:

  1. Open the Page Details window.
  2. Click the required page name in the Page Average Report, as highlighted in the following figure:

3. Click the Session Details icon present in the Action column of the Page Detail Reports window.

4. Click the App Profiling button, as highlighted in the following figure:

The various metrics, such as CPU, Memory, Battery, and Network are displayed.

Viewing Lighthouse Report

Lighthouse has six Performance Metrics:

  • First Contentful Paint: First contentful paint marks the time at which the first text/image is painted.
  • First Meaningful Paint: First Meaningful Paint measures when the primary content of a page is visible.
  • Time to Interactive: Interactive marks the time at which the page is fully interactive.
  • Speed Index: Speed Index displays how quickly the contents of a page are visibly populated.
  • First CPU Idle: First CPU Idle marks the first time at which the page’s main thread is quiet enough to handle input.

Estimated Input Latency: The score above is an estimate of how long the app takes to respond to user’s input, in milliseconds, during the busiest 5s window of page load. If the latency is higher than 50 ms, users may perceive the app as laggy.

After defining the Lighthouse options, you can view the lighthouse report. To view the report, select Reports>Ready> LightHouse from the Dashboard.

The Lighthouse Average Report is displayed:

This window displays following details:

  • Page name
  • Host name
  • Group
  • Session Count
  • Performance Score (%)
  • Accessibility Score (%)
  • Best Practice Score (%)
  • First Meaningful Paint (sec)
  • Time to Interact (sec)
  • First CPU Idle (sec)
  • Speed index (ms)

Click the required page name link to display a detailed report.

Lighthouse Settings

Expand the Lighthouse Settings section:

You can specify the following lighthouse settings:

Enable Network Throttle: You can enable/disable network throttle settings. Enabling the settings also enables download throughput, upload throughput, and network latency. These fields accept only the values that are greater than 0. If you provide values less than and equal to 0, an error message is displayed.

Note: Network throttle is enabled only if Lighthouse is enabled.

Device Simulation: In the Device Simulation settings, you can enable either Desktop or Mobile simulation.

Analyzing the Results

After specifying the JS Profiler configuration, you can observe the page performance and analyze the results. To view results:

  1. On the Page Detail Reports, click the icon to view JS profiler.

Once the recording of the page’s performance is generated, the user can measure how poor the page’s performance is, and find the cause(s).

2. Click the Performance tab at the top-left of the window.

This window contains various sections to analyze the page performance:

Analyze frames per second

The main metric for measuring the performance of any animation is frames per second (FPS).

Red bar above FPS indicates that the framerate dropped so low that it is probably harming the user experience. In general, the higher the green bar, the higher the FPS.

CPU Chart

Below the FPS chart, the user can see the CPU chart. When the CPU chart is full of colors it means CPU is highly utilized during recording and we should find ways to minimize the CPU utilization for its optimization.

The colors in the CPU chart correspond to the colors in the Summary tab, at the bottom of the Performance panel.

3. Hover the mouse over the FPS, CPU, or NET charts. NetStorm displays a screenshot of the page at that point in time. Move the mouse left and right to replay the recording. This is called scrubbing, and it is useful for manually analyzing the progression of animations.

4. In the Frames section, hover the mouse over one of the green squares. NetStorm displays the FPS for that particular frame.

5. Similarly, user can view the Network stats, Interactions, and Timings.

6. To view memory timelines, select the Memory check box.

7. Expand the Main section to see which URL is passing. NetStorm displays a flame chart of activity on the main thread, over time. The x-axis represents the recording, over time. Each bar represents an event. A wider bar means that event took longer. The y-axis represents the call stack. When the user see events stacked on top of each other, it means the upper events caused the lower events.

There is a lot of data in the recording. Zoom in on a single Animation Frame Fired event by clicking, holding, and dragging the mouse over the Overview, which is the section that includes the FPS, CPU, and NET charts. The Main section and Summary tab only display information for the selected portion of the recording.

Note: Red triangle at the top-right of the Animation Frame Fired event indicates a warning that there may be an issue related to this event.

8. Click the Bottom-Up tab to see how the calls are recorded.

9. Click Call Tree tab to see the execution of the calls.

10. Click Event Log to see the logged events during the execution of the page.

Handling HTTP Authentication

Some applications use Http authentication to control access to pages and other resources. Most widely HTTP authentication mechanism include Basic, Digest, and NTLM. In case the server requested for authentication, the browser will prompt for user name and password using native popup. However, the current version of script recorder does not capture these authentication details. It can be configured in the recorded script manually.

Use AuthCredential attribute with ns_web_url() or ns_browser() APIs to provide user credentials. These credentials will be used when authentication popup is displayed during the replay.

Syntax

“AuthCredential=<username>:<password”

Example

ns_browser(“abc”,
       “url=https://www.abc.com/”,
       “action=Home”,
       “title=abc | Shop Clothing, Shoes, Home, Kitchen, Bedding, Toys & More”,
       “AuthCredential=admin:admin”
       “Snapshots=webpage_1580205273216.png”);

SMTP Settings

Timeouts are an essential feature of an SMTP implementation. If the timeouts are too long (or worse, there are no timeouts), Internet communication failures or software bugs in receiver-SMTP programs can tie up SMTP processes indefinitely. If the timeouts are too short, resources will be wasted with attempts that time out part way through message delivery.

To perform SMTP settings, go to SMTP Settings section on the left pane.

78

In this section, user can perform SMTP timeout settings:

  • Greeting: A Sender-SMTP process needs to distinguish between a failed TCP connection and a delay in receiving the initial 220 greeting message. Many receiver-SMTPs accepts a TCP connection but delay delivery of the 220 message until their system load permits more mail to be processed.
  • Mail: by default, it is 300 seconds.
  • Recipient: A longer timeout is required if processing of mailing lists and aliases were not deferred until after the message was accepted.
  • Data Initialization: This is while awaiting the “354 Start Input” reply to a DATA command.
  • Data Block: This is while awaiting the completion of each TCP SEND call transmitting a chunk of data.
  • Data Term: This is while awaiting the “250 OK” reply. When the receiver gets the final period terminating the message data, it typically performs processing to deliver the message to a user mailbox. A spurious timeout at this point would be very wasteful, since the message has been successfully sent.
  • Session: After this time, the session is expired. By default, it is 600 seconds.

User Profiles

All users belonging to a scenario group share same common characteristics. These characteristics include:

  • Network Access method employed by the user to access the web application e.g., 56 K dial-up modem, 512K DSL, cable modem, T1 etc.
  • Geographic location of the users. For example, East Cost, mid-west, Asia etc. Geographic location affects the number of hops, packet loss etc.
  • Web Browser Used by users, such as NetScape4, IE 5.0 etc.

A common virtual user characterization of a scenario group is called User Profile. User Profile is used for WAN-ENV simulation and can be designed accordingly. User Profile can be designed with desired Location, Access, Browser and Co-located User for scenario groups.

A scenario group is associated with a single User profile. But multiple scenario groups may share same user profile. This would happen in the situation when such scenario groups have different test script associated with them.

If the WAN Simulation is on, one important thing that needs to be defined for actual server is the physical location of the server (SUT) when deployed in production environment.  By default, it is set to San Francisco.

By default, Internet simulation is disabled. So, all user profiles simply boil down to a LAN.  To use the real Internet simulation:

  • Enable the WAN simulation as described below.
  • Use the appropriate User profile in defining the Scenario groups.
  • Define the Location of the Server as described in the Server Configuration Section below.

There are following sections under this:

  • Profile
  • Location
  • Edit Access
  • Browser
  • Screen Size

Profile

To open User Profile window, click the Profiles link under User Profile section.

79

User Profile window is divided in to two frames:

  • User Profile Management Frame
  • User Profile Details Frame

User Profile Management Frame

With this frame, user can perform following operations:

  • Select a user profile
  • Add a user profile
  • Copy a user profile
  • Delete a user profile

To Add a User Profile:

  1. Enter new user profile in the New User Profile
  2. Click the Add
  3. After clicking Add button, user gets the User Profile with its default values.
  4. Specify the user profile details [discussed later].
  5. Click the Save button to save the user profile.

80

To Copy a User Profile:

  1. Select an existing user profile from the User Profile drop-down list. 

81

  1. Enter user profile name in New User Profile textbox to copy existed profile.
  2. Click the Copy button.
  3. Now, the selected user profile gets copied to name provided in New User Profile text box.

To Delete a User Profile:

  1. Select the profile that needs to be deleted from the User Profile drop down list.
  2. Click the Delete button.
  3. Now, user profile gets deleted from the drop-down list.

User Profile Details Frame

With the help of this frame, user can add location, access, browser and co-located users to a user profile. This frame is again divided into four sub-frames:

  • User Location with Dedicated Access
  • Dedicated User Access
  • Location with Shared Access (Co-Located Users)
  • User Browser

Each of above sub frames is provided with three options Add, Delete, and Update.

User Location with Dedicated Access

Here, Location is location-name representing the geographical location of the users and Percent is the percentage of this group of users with respect to total users. Location drop-down contains default list of locations. To add new location to this frame, first user has to delete some locations or edit their percentage, if total percentage is already 100.

User Location with Dedicated Access frame contains three buttons Add, Delete and Update.

To Add a Location in User Location with Dedicated Access frame

  1. Select a location from drop-down list of user locations.

82

  1. Set Percent value of the selected location.
  2. Click the Add button, location gets added in the list.

To Delete a Location from User Location with Dedicated Access frame

  1. Select location row from user location list.

83

  1. Click the Delete The location gets deleted.
 NoteUser can delete multiple locations at a time by selecting multiple rows.

 To Update a Location from User Location with Dedicated Access frame:

  1. Select a row to be updated. Here, user can update percentage of users.

84

  1. Update the Percent value and click The percent gets updated.

Dedicated User Access

Access Name is the unique user access name, representing the physical network access device used by user to connect to web application. In this frame, access is the shared network access representing the physical network access used by the users and percent is the percentage of this group of users with respect to total users. User Access drop-down contains default list of accesses. To add new access, first user has to delete some accesses or edit their percentage, if total percentage is already 100.

Dedicated User Access frame contains three buttons Add, Delete, and Update.

To Add an Access in Dedicated User Access frame:

  1. Select an access from drop-down list of user access.

85

  1. Set percent value to selected user access.
  2. Click the Add button. The user access gets added in the list.
 NoteTotal percent of added accesses should be 100.

To Delete an Access from Dedicated User Access frame:

  1. Select access row that needs to be deleted.

86

  1. Click the Delete The access gets deleted.
 NoteUser can delete multiple Accesses at a time by selecting multiple rows.

 To Update an Access from Dedicated User Access frame:

  1. Select a row from the drop-down list to be updated.

87

  1. Change Percent value and click Update button. The access percent gets updated.

Location with Shared Access (Co-Located Users)

In this frame, access is the shared network access representing the physical network access used by the users. Location is location-name representing the geographical location of the users and percent is the percentage of this group of users with respect to total users. To add new location with shared access, first user has to delete some records or edit the percentage if the total percentage is already 100.

To Add value in Location with Shared Access (Co-Located Users) frame:

  1. Select the location from drop-down list of locations, select the user access, and provide the percentage.

88

  1. Click on Add button, the record gets added.

To Delete a row from Location with Shared Access (Co-Located Users) frame:

  1. Select a row to be deleted.

89

  1. Click the Delete button. The selected row gets deleted. 

To Update a row in Location with Shared Access (Co-Located Users) frame: 

  1. Select a row to be updated.

90

  1. Change Percent value and click Update The percent gets updated.

User Browser

In this frame, Browser is the browser used by the users and Percent is the percentage of this group of users with respect to total users. User Browser drop-down contains default list of Browsers. To add new browser to this frame, first user has to delete some browsers or edit the percentage if the total percentage is already 100.

User Browsers frame contains three buttons – Add, Delete and Update.

To Add a Browser in User Browser frame:

  1. Select a browser from drop-down list of user browser and specify the percentage.

91

  1. Click the Add button, the browser gets added in the list.
 NoteTotal percent of added browsers should be 100.

To Delete a Browser from User Browser frame:

  1. Select browser row that needs to be deleted.

92

  1. Click the Delete The browser gets deleted.
 NoteUser can delete multiple Browsers at a time by selecting multiple rows.

 To Update a Browser from User Browser frame:

  1. Select browser row that needs to be updated.

93

  1. Update the Percent value and click the Update The percent value gets updated.

Location

This section is used to add/delete/update a location. To open the locations window, click the Locations link under User Profile section. The locations window is displayed.

Adding a Location

  1. Enter the new location name and click Add. The following window is displayed.

2. Add the location details, such as continent/country, city, longitude, and latitude.

3. Click OK.

Mapping of Locations: User can map the location with forward and backward latency and forward and backward loss: 

Steps to map a location: 

  1. Set a location and click Add.
  2. Set values of ‘From Location’, ‘To Location’, ‘Forward Latency’, ‘Backward Latency’ and Loss for both the servers to be mapped and then click the OK.

 NoteUser can delete or update a record using the Delete or Update button respectively.

User Network Access

This section is used to add/delete/update a network access. To open the access window, click the Access link under User Profile section. The User Network Access window is displayed.

Adding an Access

  1. Enter value for access name, upload bandwidth, download bandwidth, and V.42 compression:

  1. Click the Add button, the record gets added to the list.

Note: The user can update the upload bandwidth and download bandwidth settings.

Browser

This section is used to add/delete/update a browser. To open the browser window, click the Browser link under User Profile section. The User Browser Types window is displayed.

Adding a User Browser Type

  1. Specify browser name, maximum connection per server (for HTTP 1.0 and HTTP 1.1), maximum connection per proxy (for HTTP 1.0 and HTTP 1.1), maximum connection per user, keep alive time, and user agent string.

  1. Click OK button, the user browser gets added.

Screen Size

This section is used for editing a screen size. Click the Screen Size link in the User Profile section, the Screen Size window is displayed.

This window contains the following options:

System Default Screen Size Settings: This shows System Screen Size setting which includes different Screen Size in pixels and corresponding Percentages of it. Total percentage is 100.

User Profile Default Screen Size Settings: This is the default settings for user profile screen size. In this, select the user profile from the Select User Profile drop-down list to which this screen size to be applied and then select the Screen Size and provide the percentage. After Add operation, it is added and it shows the percentage whatever user wanted to add.

User Profile Browser Based: In this section, user can select screen size for different browsers according to the requirements. There is a corresponding percentage with each screen size. User can perform operations like Add, Update, and Delete in setting the screen size.

Java Setting

This section is used to perform the Java setting if user is using the java type script in scenario. In this case, user needs to set some arguments for the execution of java type script. To access the Java Setting window, click the Java Setting menu item in the scenario getting section.

108

JVM Min and Max Heap Size: Java program executes in JVM uses Heap of memory to manage the data. User can set minimum and maximum heap size accordingly. By default, minimum heap size is 128 MB and maximum heap size is 512 MB.

JVM Virtual User Thread Pool: Specify the minimum and maximum number of threads that are reserved for requests from applications. The thread pool is dynamically adjusted between these two values. This is used to set NJVM thread pool values. For example, 64 is at initial level, 2 is for increment, while maximum is 512. 75% is Threshold means thread Pool Percentage.

JVM Custom Arguments: This is used for passing multiple arguments and to set NJVM custom arguments.

System Java Class Path: The class path is the path that the Java runtime environment searches for classes and other resource files. This is used to set NJVM system class path. The Java platform itself uses a Properties object to maintain its own configuration. The System class maintains a Properties object that describes the configuration of the current working environment. System properties include information about the current user, the current version of the Java runtime, and the character used to separate components of a file path name.

Scenario Specific Class Path: This is also used to set NJVM system class path. In this, third party is also used.

Java Home Path: JAVA_HOME is just a convention, usually used by Tomcat and other Java EE app servers to find where Java lives. JAVA_HOME is an environment variable (in UNIX terminologies), or a PATH variable (in Windows terminology). Java applications look up the JAVA_HOME variable for the location where the Java compiler/interpreter may be found. This is used to set the NJVM Java Home path. Set the NJVM_JAVA_HOME environment variable to point to the JRE installation directory.

Connection Timeout: Connection time is the time for which NVM has to wait for NJVM to connect. Maximum time is 60 seconds. After 60 seconds, connection breaks.

Message Timeout: Message timeout means when NetStorm sends Request and Server did not respond within given time then Error displays as Timeout. Default time is 60 seconds.

Health Monitor

This section is further divided into following sub section:

  • System Health
  • Advanced Settings

System Health

This section is used to set Threshold settings in health monitor based on File System and INode. Disk space check checks space in the hard disk. A warning is displayed or the test is not even starts if the disk space is low. And INode check checks for the free INodes. A warning is displayed or the test is not even starts if the INodes is low.

Health Monitor Settings window contains the following tabs:

  • Disk
  • INode

Disk

This section contains the information on the disk space status, such as what is the total space of the disk for a particular file system, how much disk space is in use and what is the free space currently. User can set threshold values for critical, major and minor conditions and can also specify whether the test needs to be stopped if the critical value is reached. So, this disk space check provides the user with the facility that checks the disk space before starting the test so that user can avoid the test failure at a later stage and thus save time.

Disk section contains the following options:

File System: It contains a list of files system available in NSAppliace/NDAppliance. User can select a particular file system or all.

Current Disk Status (GB):   This field shows total space, used space and free space (in %) of disk.

Threshold Free Space: User can set following threshold Free Space values (in %) for disk:

  • Critical: It is used to specify the critical value (in %) below which the test should not run. It must be a numeric value only less than 100.
  • Major: It is used to specify that the free disk space percentage is nearing the critical value (in %) and that it has reached the major threshold. It must be a numeric value only less than 100.
  • Minor: It is used to specify that the free disk space percentage has just reached the minor threshold value (in %). It must be numeric value only less than 100.

Start Test: It is used to specify whether the user wants to stop the test or not if the critical value is reached. Value can be:

  • Yes: Continue with test (default)
  • No: Stop the test

INode

In file system, an index node, informally referred to as an INode, is a data structure used to represent a file system object, which can be one of various things including a file or a directory. This section contains the information on INode space, such as what is the total number of INodes allocated for a particular file system, out of them how much INodes are in use and what is the free INodes (in %) currently. User can set threshold values for critical, major and minor conditions and can also specify whether the test needs to be stopped if the critical value is reached. So, this INode check provides the user with the facility that checks the INodes before starting the test so that user can avoid the test failure at a later stage and thus save time.

INode section contains the following options:

File System: It contains a list of files system available in NSAppliace/NDAppliance. User can select a particular file system or all.

Current INode Status (GB):   This field shows total INodes, used INodes and free INodes (in %).

Threshold Free Space: User can set following threshold Free Space values (in %) for INode:

  • Critical: It is used to specify the critical value (in %) below which the test should not run. It can have numeric values between 0 and 100.
  • Major: It is used to specify that the free INodes percentage is nearing the critical value (in %) and that it has reached the major threshold. It must be a numeric value only less than 100.
  • Minor: It is used to specify that the free INodes percentage has just reached the minor threshold value (in %). It must be numeric value only less than 100.

Start Test: It is used to specify whether the user wants to stop the test or not if the critical value is reached. Value can be:

  • Yes: Continue with test (default)
  • No: Stop the test
Advanced Settings

In this section, a user can configure the number of connections allowed at a time while running a test. If it exceeds the specified limit, further connections will not be established until the existing connections are released in the network.

GIT Configuration

Git is an open-source distributed version control system that enables you to save your NetStorm test assets including scenarios, scripts, test suites, and test cases in a Git repository. A Git repository is the directory where all your project files and related metadata reside. This section provides information about how to configure the GIT repository settings in NetStorm.

Getting Started

For GIT configuration in NetStorm, you need to first select the required work profile and enable GIT settings options. Then, provide your server configuration details, branch information, and author info for connecting remotely to the GIT repository.  Perform the following steps:

  1. Access a work profile in NetStorm.
  2. Enable GIT settings in NetStorm.
  3. Specify the server configuration.
  4. Specify the GIT branch and author info.
  5. Save your GIT configuration and perform GIT operations.

Note: Before configuring GIT settings in NetStorm, you must create a Cavisson directory in the GIT repository.

Access a Work Profile

A work profile enables you to save your selected data in a workspace. You can create multiple work profiles in your respective workspace. For configuring GIT settings, you need to first select a work profile in NetStorm. For more information, see Managing Work Profiles.

To access a profile:

  1. Log in to NetStorm by specifying your username and password.

2. Expand the user profile drop-down list on the top-right corner of the NetStorm window. The list of available test profiles is displayed. You can access and switch profiles from this drop-down menu, as highlighted in the following figure:

Note: The default profile of the user is highlighted in the user profile list.

Enable GIT Settings

After selecting the required work profile, all the configurations associated with the profile will be loaded in NetStorm. You can now enable GIT configuration options for the selected profile.

To enable GIT configuration in NetStorm:

  1. Select Admin > GIT Configuration in NetStorm. The GIT Configuration window is displayed.
  2. Select the Use GIT for Version Control option.

Note: If you do not use GIT for version control, the Cavisson version control system will be used by default.

3. The GIT configuration options are enabled in the window:

 

Specify Server Configuration

In the Server Configuration section,  you need to provide a remote GIT repository URL and valid user credentials to connect and perform GIT operations on the GIT repository.

Repository URL

Specify the remote GIT repository URL in the Repository URL field. It can contain HTTP/HTTPS URL or SSH/GIT URLs. For example, you can use the following types of URLs:

git@gitlab.com:test1/abc.git or https://gitlab.com/test2/abc.git

HTTP/HTTPS Repository URL

If you configure an HTTP/HTTPS repository URL, the SSL certificate is disabled by default. Provide a username and password:

  • Disable SSL Certificate: If you do not want to perform a security certificate check, accept the default value of this option.
  • User Name: Username of the GIT account that needs to be remotely accessed.
  • Password: Password of the GIT account that needs to be remotely accessed.

SSH Repository URL

If you want to configure an SSH/git repository URL , you can either provide username and password or passphrase/sshkey.

You can log in using the following options:

  • Via Username/Password
  • Via SSH key
Via Username/Password

Provide the GIT username and password.

Via SSH Key

Selecting the Via SSH Key option displays the following options:

User Name

Username of the GIT account that needs to be remotely accessed.

Password

Password of the GIT account that needs to be remotely accessed.

Pass Phrase

Passphrase for the SSH key that is generated by the user. You can secure your SSH keys by adding a passphrase to your SSH keys.

SSH Key

You can either generate an SSH key or import an existing key.

Generate SSH key

You can generate an SSH key with or without specifying a passphrase.

To generate an SSH key:

  1. Click the Generate SSH Key icon .  A pair of public and private keys are generated.

2. Copy the generated key and add it in GitLab to establish a connection between your machine and GitLab.

Import an Existing SSH Key

To import an existing SSH key:

  1. Click the Import Existing SSH Key icon . A Paste SSH key text field is displayed:

2. Add your private SSH key in the Paste SSH Key text box.

3. This key will be uploaded to the following path when you save the GIT configuration:

$NS_WDIR/workspace/<user_name>/<profile_name>/

Select a Branch

After providing the repository URL and valid credentials, you can fetch the list of branches from the remote GIT repository. Based on the selected repository, the branch options are updated in the Branch drop-down list.

  • If GIT configuration is already saved, the branches are fetched automatically.
  • If you are configuring GIT for the first time or configuring some other remote GIT repository, then you have to manually click the Fetch Branch icon.

To select a branch:

  1. Click the  icon. The Branch drop-down list is updated with the related branches.

2. Select the required Branch from the drop-down list.

Specify Author Details

Provide the following author information:

  • Full Name: This field requires the full name of the user who is configuring GIT and performing git operations.

Note: Full name is different from “User Name” as it refers to the remote git server user name.

  • Email: Email of the user who is configuring Git and will be performing GIT operations.

Save your GIT Configuration

After providing GIT configuration, you must save the settings before performing GIT actions. To save:

  1. Click the Save button in the GIT Configuration window.
  2. Your GIT configuration will be saved in GIT_CONFIG and VERSION_CONTROL keyword in the .workprofile.conf in the selected work profile at following path:

$NS_WDIR/workspace/<user_name>/<profile_name>/

Perform GIT Operations

After you have saved your GIT configuration, the GIT operations will be enabled in the GIT drop-down list:

Note: if you want to perform GIT operations, a Cavisson directory should exist in the GIT repository.

You can perform the following GIT actions:

  • GIT Clone: GIT clone will clone the provided remote git repository inside following path:

$NS_WDIR/workspace/<user_name>/<profile_name>/

  • GIT Pull: GIT pull will fetch the latest code from the provided GIT repository.
  • GIT Commit: GIT Commit from GIT Configuration window will commit all the modified files in one go.
  • GIT Checkout: GIT Checkout will checkout the particular branch that is saved in the .workprofile.conf file.

Managing Work Profiles

In NetStorm, users will have their own workspace. Each workspace will have multiple profiles and each profile will have its own set of test assets. For example: $NS_WDIR/workspace/<user_name>/

By default, new users (non-cavisson user) will have a ‘system’ profile referring to the following directory: $NS_WDIR/workspace/admin/system

You can link each profile with a remote GIT repository and configure git settings for each profile. Each profile will have its own Git configuration saved in the .workprofile.conf file in a particular profile. For example: $NS_WDIR/workspace/<user_name>/<profile_name>/.workprofile.conf.

Support for Multiple Work Profiles

NetStorm supports multiple work profiles for each user. You can create multiple profiles for saving data in separate profiles. For example, you choose to create a new work file for saving your scenarios, test suites, test cases, or check profiles in a separate profile.  Each work profile of a user will have its own Git configuration including Git Repository URL, Display name, Email ID, UserName, Password, and other details.

Select a Default Work Profile

Clicking the star icon , you can designate a particular work profile as the default profile. It means that whenever you ogs into the ProductUI, then by default the default profile will be accessed.

Select an Active Work Profile

Clicking the selected work profile in the profile drop-down list, you can switch to the particular profile. All the test assets will be fetched from the selected work profile and all operations, like addition, will be performed on the selected work profile only.

Create a New Profile

To create a new profile:

  1. Expand the user profile drop-down list on the top-right corner of the NetStorm window. The list of available test profiles is displayed.

2. Select the Create new profile option. The Create New Work Profile dialog box is displayed:

3. Provide a work profile name.

4. Expand the Advanced Settings section.

5. Select Make as default to log in using this work profile every time you access NetStorm.

6. If you select the Link to existing directory option, specify the path where your test asset is saved that you want to be linked with the profile.

7. Note that the “default” work profile of a user will be linked with the “default” work profile of “admin”, while creating a Workspace for a user. Therefore, the work profile is saved in the default folder, if you do not choose any other path.

8. Create Create. A new work profile is created.

Delete a Work Profile

Clicking the trash icon, you can delete a particular profile. Before deleting, you will be prompted to give your confirmation.

Note: You cannot delete the ‘system’ and default work profile

General Settings (Correlation ID)

A Correlation ID or Transit ID is a unique identifier value attached to requests and messages that allows reference to a particular transaction in a distributed environment. Cavisson uses Correlation ID header with request so that it can be mapped automatically with flowpath report.

To access this, go to APM Integration > General Settings.

Correlation ID in HTTP Request(s): To add Correlation ID in HTTP Request(s), first user needs to select this check box, and then provide header name with various other configurations. 

Header Name: This is the name of the header, which represents the Correlation ID.

For example: X-Correlation-ID

Configure Correlation ID in HTTP Request(s)

User needs to configure the Correlation ID and apply certain parameters before sending it along with the request. Some parameters are optional while others are mandatory (such as transaction name and test number). The values for mandatory parameters are appended automatically in the sample request.

  • Prefix: The prefix is the value that is appended preceding to the header value. It must be alphanumeric and without spaces, symbols, and special characters.

For example: CorID, Cor123ID, 123CorID, CorID123, and so on..

  • Source ID (SI): It is the Source name / machine configuration name from where the request is generated. It is a mandatory field.

For example: SI=CavissonNS

  • Time Stamp (TS): It is the absolute time stamp (in milliseconds) at which the request is generated.

For example: TS=1551163307097

  • Unique ID (ID): It is a unique identification of the request, which is a combination of Virtual User ID, Session Instance, and Transaction (last transaction of page) / Page ID. If transaction is not defined, it uses Page instance.

For example: ID=9143

  • Page Context (PC): It is the name of current page from where the request is generated.

For example: PC=HomePage

  • Virtual User Index (VU): It is a combination of Virtual User ID and Virtual User Instance used to send the request.

For example: VU=10

  • Transaction Name (NA): It is the last transaction of the page or the page name. It is a mandatory field.

For example: NA= HomeTx 

  • Client IP / Port (CI): It is the IP and the port of client / source machine.

For example: CI=199.99.96.1:31728

  • Destination IP / Port (DI): It is the IP and the port of destination machine / server.

For example: DI=104.80.50.135:29088

  • Geographical Region (GR): It is the geographical region / location of the user who generates the request.

For example: GR=SanFrancisco

  • Agent Name (AN): It is the logical name of the agent which originates the request.

For example: AN=199.99.96.1

  • Script Name (SN): It is the set of requests that makes up a multi-step transaction.

For example: SN=ToursScript

  • Test Name (TE): It is the name of the load test. It is a mandatory field.

For example: TE=11924

  • Suffix: The suffix is the value that is appended succeeding to the header value. It must be alphanumeric and without spaces, symbols, and special characters.

For example: CorID, Cor123ID, 123CorID, CorID123, and so on..

Configure Correlation ID (as above) in Inline Request(s): On selecting this check box, inline requests will contain the same Correlation ID configurations (as done for HTTP request).

Configured Correlation ID: This denotes the sample HTTP Request header based on the configurations of the Correlation ID done above.

For example:

HTTP Request Header

X-Correlation-ID: SI=CavissonNS;TS=1551163307097;ID=9143;PC=HomePage;VU=10;NA=HomeTx;CI=199.99.96.1:31728;DI=104.80.50.135:29088;GR=SanFrancisco;AN=AN=199.99.96.1;SN=ToursScript;TE=11924

Internet Protocol (IP) Address Management

It is a method of tracking and modifying the information associated with a network’s Internet Protocol address (IP address) space. It is an integrated suite of tools to enable end-to-end planning, deploying, managing and monitoring of your IP address infrastructure, with a rich user experience. It automatically discovers IP address infrastructure servers and Domain Name System (DNS) servers on your network and enables you to manage them from a central interface.

Why IP Management is required?

There is a need for NetStorm to support multiple sources IP addresses for following reasons.

  1. Real users use different source IP addresses and hence to emulate the real-world scenarios NetStorm should be able to generate virtual users with different source IP addresses.
  2. When NetStorm generates a very high connection rate, system can run short of IP addresses/ports combinations for creating new connections. Ports are limited to 64K and hence having several sources IPs may be required.

There is a need for NetStorm to support multiple servers IP addresses for following reasons.

  1. Real servers use different IP addresses and hence to emulate the real-world scenarios NetStorm should be able to connect to different servers different server IP addresses.
  2. When NetStorm generates a very high connection rate, system can run short of IP addresses/ports combinations for creating new connections on server side. Ports are limited to 64K and hence having several destinations IPs may be required.

This is achieved by IP management module of NetStorm product.

IP Management in NetStorm

Go to View > Scenarios > IP Management.

This displays the IP Management window. Here, the user can assign IP address for client and server.

To assign IP address for client or server, the user is required to click the Client or Server button respectively.

Assigning IP Address

On the IP Management window, click the Add button. This displays the Add IP window (for either client or server based on the option selected).

The user needs to provide the following inputs:

  • IP Version: Select either IPv4 or IPv6.
  • Vlan ID: An ID associated with each VLan.
  • Network ID: Network ID for client / server.
  • Netbits: Bits of IP address, which are used to representing the network.
  • Start IP: Start ip of the particular range (netid).
  • End IP: Last ip of the given range.
  • Number of IPs: Number of PIs in the provided range.
  • Gateway: Allows data to flow from one discrete network to another. IP properties Tab of the IP Management affect this field.
  • Interface: It is condition dependent. If we are using more than one Load interface then only these column becomes visible.

Auto Fill

By clicking the Auto Fill button, the details are filled automatically. To use this option, the user must provide Start IP and End IP or Number of IP.

Delete IPs

The user can delete one or more IPs by selecting the record(s) and clicking the Delete button.

Show Required Gateway Configuration

This button is only displayed if there is any gateway entry in the IP entries file. On clicking this button, it displays the gateway IPs of client and server.

Connectivity

On clicking this button, it fetches those clients IP and server IPs, which are not connected to each other.

Properties

The user can set the Gateway configuration for the IPs. On the basis of Gateway configuration, Gateway column vary in IP tab. The user can reserve the net ids so that it cannot be added in the IP tab.

Gateway Settings

Only Layer 2 device is between client and server (No Gateway configuration required)

If user wants to set gateway configuration in such a way that there is no gateway is required between client and server then user need to use this option.

Only Layer 3 device(s) is between client and server (Gateway configuration always required)

If user always want to use the Gateway between client and server, then user need to use this option.

Even user wants to use first IP as gateway, the user needs to use the following option:

Use first IP address of the IP range as Gateway address if Gateway not specified

User defined (No enforcement of Gateway configuration)

It means there may or may not be a gateway between the client and server. Therefore, the user can use this option.

Other Settings

The user can reserve net ids that cannot be added in IP tab. This net id is reserved for internal use. We use 192.168.255.0 as the reserved net id for IPV4.

Launch SSH Console

Logged-in users can access a sandbox view of the Linux terminal from the NetStorm, NetCloud, and NetOcean browser. This access is allowed only when you have configured NS/NC/NO in the Multi-Node Cluster mode. For more information, see Multi Node Configuration.

  1. Select Actions > Launch SSH Console to open a terminal window to access your workspace where your test assets are present.

2. Update the test assets, like scripts, using the VI editor.

3. Commit your changes to your GIT repository.

Multi Node Configuration

For monitoring and configuration changes, you might need to connect with different. Using the Multi-Node Configuration window, you can configure a multi-node environment and start the node server. To configure a node:

  1. Select Configuration > Configuration Settings > Multi-Node Configuration.

2. The Multi-Node Configuration window is displayed:

3. Provide your node details in the Multi-Node Configuration window:

4. Click Add. Your node details will be saved in the dcinfo.json file