NVSM – Monitor Design

Designing a Monitor

Designing a monitor requires various inputs, such as basic details of the test, selecting a pre-recorded script or recording a new script, selecting the location where the test is executed, scheduling the test, and do the profile setting that describes the channel used for assessing the web pages.

To design a monitor, user needs to follow the below mentioned steps:

  1. Click the Monitor Design tab, the Monitor Design section is displayed.

  1. On this page, click the Add button at the bottom. A Monitor Design window is displayed where user can provide details required for designing a test. Provide basic details of the test.

Providing Basic Test Details

  1. Provide the basic details of the test, such as Test name and its description. Further process of monitor designing is divided into following sections:
  • Script / URL
  • Locations
  • Schedule
  • Monitor Internet Profile
  • Monitor Browser Settings
  • Clip Monitor

Selecting/Recording a Script

In this section, user needs to select the pre-recorded script or record a new script. A Script represents a typical session of web application’s user interaction. It has a well-defined structure and keeps documentation of web application user actions. NetVision SM executes a script to emulate a web user activity. A script can be executed several times during a test.

Monitor Design using ‘Script’ Option

  1. Select the Script radio button in the Type section.
  2. For pre-recorded scripts, select the script from the drop-down list.
  3. For recording a new script, click the Record Script The process of recording a new script is described in the Recording a New Script section. Once the recorded script is saved, click the Reload button to load the script in the drop-down list. The script is displayed in the list then, select the script to use in the monitor design.

Monitor Design using ‘URL’ Option

7. Select the Script check box to specify the script name.

8. Select the Page check box to specify the page name where the URL is available to be recorded.

9. Mention the URL, which is required to be recorded.

Generate Lighthouse Report

Lighthouse is an open-source, automated tool for improving the quality of web pages. A user can run it against any web page, public or requiring authentication. It has audits for performance, accessibility, progressive web apps, and more. Upon selecting this, it generates an html report along with Lighthouse Average and Detail reports.

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 shows 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 your app takes to respond to user input, in milliseconds, during the busiest 5s window of page load. If your latency is higher than 50 ms, users may perceive your app as laggy.

Light House Report option in Reporting section

To view the Lighthouse Report, in NetStorm product UI go to Reports > Ready > Ready Application > Light House Report.

On clicking the Light House Report, the following window 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)

On clicking the page name link, a detailed report is displayed.

Selecting Location

In this section, user can specify the monitor locations where the test is executed. User can select more than one locations also. This section displays monitor location name, IP, and location.

10. Click the Locations tab, the section for selecting locations is displayed. Select the location by selecting the check box corresponding to a location.

Scheduling the Test

In this section, user can schedule the execution of the sessions and their duration. There are following parameters in this section.

11. Specify the frequency of the session in the Every section. The session is executed after each interval as specified here.

12. User needs to specify the start criteria of the test. On selecting the Start Now radio button, the test is started its execution from the moment it is applied. On selecting the Start at date/time radio button, user needs to specify the start date/time when the test is required to be executed.

13. User needs to specify the end/stop criteria of the test. On selecting the Run Forever radio button, the test is executed for ever. On selecting the Stop at date/time radio button, user needs to specify the date and time when the test is required to be disabled/stopped.

Monitor Internet Profile

In this section, user needs to specify the channel/profile which is used for accessing the web pages. Each profile is having different specifications in terms of bandwidth, screen size, user agent, and so on. Here, we have mentioned few profiles. User can select the profile based on the specifications.

Profile Name Bandwidth Screen size User Agent
2G_IPHONE6 2G 667 X 375 Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 NVSM Tool
3G_ANDRIOD 3G 640 X 360 Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 NVSM Tool
4G_DESKTOP 4G 1024 X 768 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2190.0 Safari/537.36 NVSM Tool

14. Select the profile from the list of available profiles, such as 2G_IPHONE6, 3G_ANDROID, 4G_DESKTOP.

Monitor Browser Settings

In this section, user needs to select the browser from where the test is executed.

15. Select the browser from the list, such as Firefox, Chrome, Safari, and so on.

Clip Monitor

In this section, user can specify the settings on clips capturing. Clips are nothing but snapshots or page dumps.

There are following options for clip mode:

  • Clips will not be captured: In this case, clips are not captured while test execution.
  • Clips will be captured at provided frequency: In this case, user needs to specify the frequency of clip capturing (in ms) along with the clip quality (in resolution percentage).
  • Clips will be captured only when threshold condition meet: In this case, user needs to specify the frequency, quality of clips, DOM threshold, and Onload threshold.

16. Select the Clips capturing criteria from the list and specify other values.

Saving the Test Design Details

In this section, user needs to save the details of the test design configured in all the sections, such as Script, Locations, Schedule, and Profile Settings.

17. On completing the specifications for test design, click the Save changes button to save the details of the test design. A confirmation message is displayed once a monitor design is saved.

11

Viewing the Monitor Design Details

Once the Test details are saved, it can be viewed on the Monitor Design page. User can add one or more monitor designs by following the above mentioned step. All the monitor designs created are displayed on the Monitor Design page.

There are two columns on this window:

  • Applied: Once a test is added, it is in Not Applied state and is represented with 1 icon. To mark it applied, user needs to click the Apply button. The state of the test is changed to Applied and is represented with 2 icon.
  • Enabled: When a test is added, it is in Enabled state and is represented with 3 icon. It means that the monitor design is included on the execution of the test. If user doesn’t want to include the monitor design in the test execution and mark it disable, then he/she needs to click the 64 icon. On clicking this icon, the test design is disabled and is represented with 5 icon. On disabling, the 64 icon in the action changes to 65. User can enable the monitor design by clicking the 65 icon. 

Actions on Test Designed

User can perform the following actions on the test designs using the provided icons:

Icon Meaning Description
 9 Delete Test Use this icon to delete a test. Once a test is deleted, it is removed from the list.
 10 Edit Test Use this icon to edit the details of the test, such as script, location, scheduling, profiling, and so on.
 11 Copy Test Use this icon to make a copy of the test. This makes an identical copy of the test with the same configuration and state and added in the list of test design. For example, <Test name>_Copy, <Test name>_Copy_0, <Test name>_Copy_1, and so on.
 64 Disable Use this icon to disable a test. A disabled test is not included in the execution of the tests. Only the enabled test, represented with 3 icon, is included in the test execution.
 65 Enable Use this icon to enable a disabled state. A disabled test is represented with 5 icon and is not included in the test execution.

Executing the Monitor Design

On the Monitor design page, click the Apply button for execution of the monitor designs. On clicking the Apply button, a system generated message is displayed for the confirmation of apply changes in all tests. Click OK. The icon within Apply column changes to  2.

 1.1 When user applies the changes by clicking the Apply button, the existing tests are stopped and new set of tests are started.User should make as many changes as required in one shot and then apply changes to avoid multiple stop and restart of tests.

Global Configuration

Global configuration is used to apply some configurations to the groups globally. This section comprises Advance settings and Location settings. To access the global Configuration window, click the  icon at the top right corner of the window.

This displays the Global Configuration window with Advance, Location, and Miscellaneous tabs. Description of each sub-section is provided in the subsequent topics.

Advance Settings

By using this section, user can specify the maximum number of concurrent sessions.

Key Pointers

  • Limit/fix running session/user in a test i.e., for a limit of five only 5 session/user will be active and other users will be in either queue/pool (BLOCKED state) or thinking state.
  • Limit/fix number of sessions in case of RBU, which is triggering browser for every new users. Every new browser creates a load in running resources of the OS, which generates a significant overall computation load. With increase in user concurrently, machine slows down, may stuck for a while, and hinders the success of test run.
  • Using this approach, number of browsers on the machine will never get too high to that level where the machine gets slowdown/stuck.

Location

By using this section, user can perform global operations, such as add, delete, or replace monitor location(s) for a monitor group or all monitor groups simultaneously. This minimise the user efforts of altering locations for each monitor group one by one.

Add Monitor Location(s)

To add monitor location(s), first select the monitor(s) from the list. Then, select the monitor location(s) to be added and click the Add button.

Delete Monitor Location(s)

To delete monitor location(s), first select the monitor(s) from the list. Then, select the monitor location(s) to be deleted from the table and click the Delete button.

Replace Monitor Location(s)

To replace monitor location(s), first select the monitor(s) from the list. Then, select the monitor location(s) and click the Replace button. The existing locations are replaced with the selected ones.

Miscellaneous

Under ‘Miscellaneous’ tab, a user can configure multiple groups and specific group based setting. Value for that setting can be provided from there itself. Here, user needs to select the monitor name and the configuration to be applied.

There are following options:

  • Session Retry on Page Failure: Here, a user needs to specify number of retries along with the interval of retries for a group.

  • Capture Java Script: Here, a user needs to configure (either enable or disable) several options, such as mode, compression, request URL, response URL, and specify JS processing time and data URI.

Note: The corresponding inputs for disabling JS Processing Time and Data URI, capturing JS Processing time, capturing Data URI in block waterfall, and capturing both, are 0, 1, 2, and 3 respectively.

  • Enable CDN Offload: To enable CDN offload for additional domains, specify the domain name. For multiple domains, use the semicolon.

  • Block URL(s) before capture: Here, a user can specify the URL(s) to be blocked for a group.

  • Enable JS Profiler: Here, a user can capture the ‘Performance Trace’ of a script.

Recording a New Script

User needs to follow the below mentioned steps for recording a new script. Here, we are recording a sample web application. It is applicable, if user click the Record Script button in the Script section.

Start Recording

  1. On clicking the Record Script button, system navigates the user to the Script Management window.

10 (2)

Script Manager window consists of the following icons related to script recording, user can use these icons as and when required.

Icon Meaning Description
 17 Start button To start recording the script
 18 Stop button To stop recording the script
 19 Cancel button To cancel the script recording
 20 Pause button To pause script recording
 21 Resume button To resume script recording
  1. To start the script recording, click the start recording [17] button at the top left corner of the window. the Script Recorder dialog box is displayed.

11 (2)

Providing Script Details

  1. Enter the following details:
    • Script Name: This is the name of the script to be recorded. Script name is of maximum 32 characters. First character must be an alphabet. Other characters could be alphabet, numeric, or underscore.
    • URL: This is the URL of the web application to be recorded.

For example, http://10.10.30.7:81/tours/index.html.

    • Project Name: It is the name of the project where the script is recorded. Select the project name from the drop-down list.
    • Subproject Name: The subproject list is populated based on the project selected.
    • Protocol Category: There are following types of protocol categories:
      • WebC (HTTP/HTML): This protocol is used to record scripts which are ‘C’ language syntax based functions using NetStorm APIs. User can either use NetStorm Browser or Internet Explorer/Mozilla Firefox for recording these scripts. These scripts are recorded as flow files per user session.
      • WebJava (HTTP/HTML): This protocol is used to record scripts which are ‘Java’ language syntax based functions using NetStorm APIs. User can either use NetStorm Browser or Internet Explorer/Mozilla Firefox for recording these scripts. These scripts are recorded as flow files per user session.
      • WebClickAndScript: This protocol is used to record scripts which are ‘C’ language syntax based functions using NetStorm APIs. Default browser available for these types of scripts is NetStorm Browser. These scripts are also recorded as Flow files which contains NetStorm API’s per user interaction with different input fields such as input box, radio button etc.
      • WebLegacy (HTTP/HTML): This protocol is used to record scripts which are ‘C’ language syntax based functions using NetStorm APIs. User can either use only Internet Explorer/Mozilla etc. for recording these scripts. These scripts are recorded as four script files (capture, script.details, script.c, script.h) per user session. Script main and inline URLs are in script.capture and script.detail files respectively.
      • WebServices: This protocol is used to record scripts which are C language syntax based functions using NetStorm APIs same as WebC protocol. 
      • Java Over HTTP: The Java over HTTP protocol is designed to record Java-based applications and applets. It produces a Java language script using web functions. This protocol is distinguished from other Java protocols in that it can record and replay Java remote calls over HTTP. 
      • Java RMI: The Java Remote Method Invocation (Java RMI) is a Java API that performs remote method invocation, the object-oriented equivalent of remote procedure calls (RPC), with support for direct transfer of serialized Java classes and distributed garbage collection.
 1.1 To record a WebClickAndScript type script, select the same from the Protocol Category drop down list.

12 (2)

WebClickAndScript Protocol

It is a protocol used for recording web applications. It is used if user wants to mimic client side java script or applets loading time. It automatically captures the most valuable scripting information to create intuitive and self-explanatory scripts, expressed in user-actions terms, such as pressing a button, filling an edit field, etc.

The Web (Click and Script) functions, allow a user to specify conditional actions during replay. Conditions are useful, for example, if user needs to check for an element and perform an action only if the element is found. ClickAndScript is supported for Chromium browser only.

For example, in case user performs an Internet search and wants to navigate to all of the result pages by clicking ‘Next’. Since, user does not know how many result pages are there, user needs to check if there is a Next button, indicating another page, without failing the step. Some code adds a verification step with a notification – if it finds the Next button, it clicks on it.

Providing Browser Details

  1. Click the Advance Settings button to configure the browser engine. The General tab of NetStorm Recorder Options window is displayed.

13

Description of General tab

There are following options under General settings tab:

Browser Options

  • Browser Type: User can set which browser to be used for recording. Available options are – External Browser/Native Apps, Netstorm Browser, and Internet Explorer. ClickAndScript type scripts can be recorded only by Netstorm Browser. Legacy type script cannot record 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 is used for recording scripts from any platform or other device like mobile phones etc. 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:
    • POST
    • PUT
    • HEAD
    • DELETE
 1.1 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 text box, 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 file. Keep the har file name as generated by the browser.
  1. Click the NetStorm Browser tab, the corresponding sections are displayed.

14

Description of NetStorm 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.

Netstorm Browser Options

Here user can set following browser level options:

  • Enable JavaScript
  • Image Download
  • Disable Plug-ins
  • Ignore security certificate warnings
  • Enable Snapshot Capturing
  • Enable PreSnapshot Capturing
 1.1 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:1.9.2.24) Gecko/20111103 Firefox/3.6.24
  • Browser Engine: User can set browser engine which is used for downloading. By default, it is Mozilla. 
 1.1 User needs to select the Chromium from the list.

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.

 1.1 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.
  1. Select the Browser Engine as Chromium and click OK. User is navigated to the Script Recording dialog box.

15

  1. Click OK, the Chromium application is downloaded and script recording is started based on the inputs specified.

Note:

Earlier, during script compilation if there was any syntax error in multiline API, like if ‘);’ was left in multiline API, NetStorm used to skip that without throwing any compilation error. Now, NetStorm highlights an error for the same.

 Recording a Web Application

Here, we are showing a recording of script using web site of mercury tours.

URL: http://10.10.30.7:81/tours/index.html

  1. Once the user clicks OK, the script recording is started and system hits the specified URL provided in the URL section.

16

  1. Recording Page – 1: Enter the Member name “hello” and password “world” and click the login button.

17

  1. Recording Page – 2: Click the “flights” button to find flights. 

18

  1. Recording Page – 3: Enter the flight details:
  • 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”.
  • Click the continue button.

19

  1. Recording Page – 4: Select the first option for Flight. Click the continue

20

  1. Recording Page – 5: Enter some dummy personal details – Name Address and credit card details. Click the purchase flight button.

 21

  1. Recording Page – 6: This is flight confirmation page to confirm the flight. Click the sign off button on left side to logout.

22

  1. Recording Page – 7: This is logout page which confirms that user has successfully logged out.

Stop Recording

  1. To finish the script recording, click the Stop Recording button [23] on the top left corner of the Script Management window. The Script is created and page names are displayed.

23

  • Above are the default page names which are captured 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.

Example:

  • findflight
  • findflight_2
  • findflight_3, of recorded script

Viewing the Recorded Script

A Script consists of list of files – flow.c, init_script.c, exit_script.c, registrations.spec, and runlogic.c. The detailed description of each file of Script structure is provided below:

flow.c

  • This file contains main URLs, headers and embedded URLs.
  • It contains the main execution loop & the URLs that are accessed by NetStorm.
  • Transaction and CAPI is added from flow.c file.
  • Parameters and Checkpoint can be added from flow file of script. After adding checkpoint and Parameter, API is added in registrations.spec file.

init_script.c

  • Any Initialization can be done here.
  • Any relevant NS C API can be used in this file.
  • This file is internally called by NetStorm.

exit_script.c

  • When user completed execution of flow then exit_script.c file is called.
  • This file is internally called by NetStorm.

registrations.spec

  • Checkpoint and Parameters are added in this file.
  • Parameters and Checkpoint can be added from flow file of script. After adding checkpoint and Parameter, API is added in registrations.spec file.
  • Default registrations.spec file is hidden and user can display it after clicking the Show/ Hide registrations.spec file option in View menu.

runlogic.c

  • Runlogic allows user to create a custom flow to be executed by NetStorm.
  • Flows of the scripts can be ordered here.
  • With Run logic –
    • All pages/flows can execute as per requirement
    • Good control over execution of pages or on the group of pages (Blocks)

By default, the flow.c file is displayed that contains the flow of the script recording. It contains, main URL, XPath and many other details, such as attributes, tagName, Snapshots, and so on.

24

 1.1 To view the details of other files, such as init_script.c, exit_script.c,  registrations.spec, double-click over the file.

Editing the Recorded Script

User can also edit the script and make changes according to the requirement. To edit a script, user needs to open the file by double-clicking over it. Once the file is displayed, make the required changes and click the Save button 24 on the tool bar to save the file.

While recording script, two XPaths are recorded by default – relative and absolute. However, we can also add dynamic XPath manually.

Using XPath handling complex and Dynamic elements

  1. Basic XPath

XPath expression select nodes or list of nodes based on attributes, such as id, name etc. from the XML document.

Example:

Xpath=//input[@name=’UserId’]

Some more basic XPath expressions:

Xpath=//input[@type='text']                       
Xpath=//label[@name='UserId']
Xpath=//input[@value='RESET']
Xpath=//*[@class='cavisson']
Xpath=//a[@href='http://cavisson.com/']
Xpath=//img[@src='//cdn.cavisson.com/images/home/java.png']
  1. Contains()

This method is used in XPath expression when the value of any attribute changes dynamically, for example, login information.

This feature has an ability to find the element with partial text as shown in below example.

In this example, we are providing partial text value of the attribute to identify the element. In the below XPath expression partial value ‘sav’ is used in place of ‘save’ button.

Complete value of ‘Type’ is ‘save’ but we are using only partial value ‘sav’.

Xpath=//*[contains(@type,’sav’)]

Complete value of ‘name’ is ‘UsrLogin’ but we are using only partial value ‘Usr’.

Xpath=.//*[contains(@name,’Usr’)]

In the above expression, we have taken the ‘name’ as an attribute and ‘Usr’ as a partial value as shown in the below screenshot. This will find two elements (LOGIN & RESET) as their ‘name’ attribute begins with ‘Usr’.

Similarly, in the below expression, we have taken the ‘id’ as an attribute and ‘msg’ as a partial value. This will find two elements (‘Fill in the User ID’ & ‘Fill in the Password’) as its ‘name’ attribute begins with ‘msg’.

Xpath=//*[contains(@id,’msg’)]    

In the below expression, we have taken the “text” of the link as an attribute and ‘here’ as a partial value as shown in the below screenshot. This will find the link (‘here’) as it displays the text ‘here’.

Xpath=//*[contains(text(),’here’)]

Xpath=//*[contains(@href,’cavisson.com’)]

  1. Using OR & AND

In OR expression, two conditions can be used, either first condition OR second condition should be true. It is applicable if any one condition or both are true.

In the below XPath expression, it identifies the elements whose single or both conditions are true.

Xpath=//*[@type=’submit’ OR @name=’btnReset’]

Highlighting both elements as “LOGIN ” element having attribute ‘type’ and “RESET” element having attribute ‘name’.

In AND expression, two conditions are used, both conditions should be true to find the element. It fails to find element if any one condition is false.

Xpath=//input[@type=’submit’ AND @name=’btnLogin’]

In below expression, highlighting ‘LOGIN’ element as it having both attribute ‘type’ and ‘name’.

  1. Start-with function

This function finds the elements whose attribute value changes on refresh or any operation on the webpage. In this expression, match the starting text of the attribute is used to find the element whose attribute changes dynamically. You can also find the element whose attribute value is static (not changes).

For example: Suppose the ID of particular element changes dynamically like:

Id="msg12"
Id="msg345"
Id="msg8769"

and so on.. but the initial text is same. In this case, we use Start-with expression.

In the below expression, there are two elements with an id starting “msg” (i.e., ‘Fill in the User ID’ & ‘Fill in the Password’). In below example, XPath finds those elements whose ‘ID’ starting with ‘msg’.

Xpath=//label[starts-with(@id,’msg’)]

  1. Text()

Using this function, we find the element with exact text match as shown below. In our case, we find the element with text “UserName”.

Xpath=//td[text()=’UserName’]

  1. XPath axes methods

These methods are used to find the complex or dynamic elements. Below are some methods:

  • Following: Selects all elements in the document of the current node( ) [ UserID input box is the current node] as shown in the below screen.

Xpath=//*[@type=’text’]//following::input

There are three “input” nodes matching by using “following” axis- password, login and reset button. If you want to focus on any particular element then you can use the below XPath method:

Xpath=//*[@type=’text’]//following::input[1]

You can change the XPath according to the requirement by putting [1],[2]…………and so on.

With the input as ‘1’, the below screen shot finds the particular node that is ‘Password’ input box element.

  • Ancestor: The ancestor axis selects all ancestors element (grandparent, parent, etc.) of the current node as shown in the below screen.

In the below expression, we are finding ancestors element of the current node (“ENTERPRISE TESTING” node).

Xpath=//*[text()='Enterprise Testing']//ancestor::div

There are 13 “div” nodes matching by using “ancestor” axis. If you want to focus on any particular element then you can use the below XPath, where you change the number 1, 2 as per your requirement:

Xpath=//*[text()=’Enterprise Testing’]//ancestor::div[1]

You can change the XPath according to the requirement by putting [1], [2]…………and so on.

Viewing Snapshot of Recorded Script

To view the snapshot of the recorded script, click the View Snapshot button 25 on the tool bar. Navigate to the pages by clicking the page name.

25

Other options on the Toolbar

Apart from recording options, several other options are available to perform certain actions on script.

Icon Meaning Description
 26 Comment button To add comments in a script
 27 Create button To create a new file inside the script
 28 Save button To save a file after editing
 29 Copy button To copy the script
 30 Download button To download a script to local machine
 31 Upload button To upload a script from local machine
 32 Runlogic button To open the Runlogic GUI window
 33 Delete script button To delete a selected script
 34 View Snapshot button To see the snap shot of pages of a script
 35 Compile Script button To compile a script
 36 Test script button To execute a script from script manager
 37 Commit Script Version button To commit a script version
 38 Version Control History button To view the version control history of the script
 39 View script button To view all files created  after recording
 40 Synchronize button To refresh the script manager GUI
 41 Exit button To exit from the Script Manager GUI

History

User can view the history of the activities performed on the test, such as start, stop, edit, and so on. To view the history window, click the icon on the top-right corner.

This displays History window that contains access log details of test design.

The details displayed here are – test design, user name, activity date/time, activity performed, and description of the activity. User can also apply filters to find the desired results.