SCRIPT – HTTP Synthetic Transaction MonitorDescribes how to create SCRIPT synthetic monitors.Leave FeedbackIntroductionA standard website – user interaction includes page loads and actions such as Click, MouseOver, Typing and so on. The synthetic web transaction test monitors the websites by creating a simulation or scripted recording of the path or actions you have taken on any website.The HTTP synthetic monitoring technique monitors these paths or actions at configured intervals to understand the actual user experience. The main purpose of monitoring websites using HTTP Synthetic Transaction is to achieve response time for all critical functionalities performed by you and at the same time receive alerts in the event of any issue before it can impact your end-users.HTTP Synthetic Transaction enables monitoring of the websites to:Evaluate the time taken to complete a business transaction on a website.Ensure proper working of functionalities on a website. For example, functionalities such as Add to cart and search in an e-commerce website work as expected.Compare the time taken to load the website at other geographical locations.OpsRamp lets you record the transactions on a website using the Selenium IDE and later create scripts of the recording.Creating SCRIPT synthetic monitorsPrerequisitesUse Chrome browser version 69 or above.Install the latest Selenium IDE in the Chrome browser.The transaction monitoring involves the following main steps:Installation of Selenium IDE extension in the browser for the first time.Record a transaction using Selenium IDE.Upload contents of the .side file to OpsRamp.To manage a configured synthetic monitor:Edit – To modify the existing details of the configured Synthetic monitors.Delete – To remove any configured Synthetic monitor.Scheduled Maintenance – To move any configured Synthetic monitor to Scheduled Maintenance.After configuring, view Metrics and graphical representations for additional information.Metrics for SCRIPT monitor typesMetrics for SCRIPT Monitor TypesMonitor TypesUnitsRecommended MetricsDescriptionSCRIPT-availability.down.location.countLocation Count: The number of locations where the configured host is downSCRIPTMillisecondssynthetic.response.timeResponse time: TTime taken to complete a task in a websiteGraphical representation for metricsGraphical RepresentationLimitationsThe supported keyboard operations are ENTER, TAB, and SHIFT-TAB. The other keyboard operations are NOT supported.If Terms and Agreements or Pop-up screens like Password pop-ups or Ad Pop-ups appear while recording the transaction, record the transaction again as these screens may not occur in the next iteration.If a Web application is dynamic or having dynamic HTML elements, contact OpsRamp Support.OpsRamp supports Web applications based on English locale; however, it works for other locales with some limitations.The script will fail when there are any new additions or deletions in a transaction such as Requesting for password change. The user must record the transaction again from the beginning and add it to OpsRamp.Do not edit the JSON (.side) file generated by Selenium IDE.There are a few commands that the user must manually insert in the Selenium IDE during the synthetic transaction.Do not support CAPTCHA, OTP or inputs that are not constant and require manual interaction for every iteration.Best practicesOpsRamp recommends the Selenium JSON script for Synthetic HTTP Transactions.Ensure the Web application response content is the same across all monitoring locations. Ensure localization and internalization of the Web application while recording the Synthetic HTTP Transaction.Ensure the Web Application works in the latest Google Chrome browser (version 69 and above).Ensure to run the recorded transaction again in Selenium IDE recorder because at times a user might click elements that are already clicked before uploading the transaction.OpsRamp supports recordings of multi-tabs. The recording must be done in sequential order. After completing the recording, ensure to close the tabs in the reverse order, before closing the main window/browser. Do NOT close the browser directly.Example: A user performs an action on Tab 1 which redirects to Tab 2, the user performs another action on Tab 2 and is redirected to Tab 3. After completing the transaction, the user must close the Tabs in reverse order (Tab 3, Tab 2, and Tab 1).Wait for the web page to load to ensure proper recording of the transaction.Credential set for SCRIPT monitorUsing the Credential Set, you can assign credentials to override the username/passwords that you use while recording a transaction. You can make add the credential set into the transaction in two processes:Create and assign credentials to the Script monitor from the OpsRamp Console.Override the original credentials from the transaction in the Selenium IDE.Creating and assigning credentialsCreated and assigned credentials can be set to the script monitor from the Credentials tab.To create a credential set:From All Clients, select a client.Go to Infrastructure > Resources > Web Services.Click the desired SCRIPT monitor.Click Credentials.Click + Add.Create New Credential screen appears.From Create New Credential screen, provide the details for the following parameters and click Save:Name: Refers to the name of the credential set.Description: Refers to the purpose of creating the credential set.Type: Refers to the collector type. You can select HTTP from the drop-down list.Username: Refers to the username of the credential set.Password: Refers to the password that you set for the credential set.Confirm Password: Refers to the same password that you provide in the Password field.Port: Refers to the port used to connect to the application.Is Secure: Select the check-box to enable.Connection Time Out (ms): Refers to the time in milliseconds that occurs as a result of a script exceeding the maximum timeout value.The Credentials tab displays the created credential set.The credentials sets get assigned automatically after a credential set is created from the Credentials tab. Assign can also be used to add credentials from the existing list of credential sets.To assign a credential set:From the Credentials section, click + Assign.Assign Credentials screen appears.From Assign Credentials screen, select the desired credential set and click + Assign.Credentials screen displays the list of assigned credentials.You can click Unassign to remove the assigned credentials.Override the original credentials from the transaction in the Selenium IDEThe main purpose of using a credential set is to ensure the security of the credentials that you provide while recording a transaction from the Selenium IDE. For example, if the transaction involves logging into a website, you can override the original credentials with the assigned credential set in the Value field using a key from the Selenium IDE. OpsRamp recommends the following syntax while adding the credential set in the Value field:Username: $[CREDENTIAL SET NAME].USERNAMEPassword: $[CREDENTIAL SET NAME].PASSWORDCredential SetSnapshotsSnapshots display the graphical representation of the response time for each action in the SCRIPT – HTTP Synthetic Transaction monitor from the last frequency poll. The response time is displayed in the following formats for each configured location:Donut Chart: Displays the list of prolonged actions and the corresponding latency as percentage. The Donut chart displays the top seven prolonged actions.List Chart: Displays the response time for each action in milliseconds.NoteIf the latest transaction fails, the snapshot will not display any data.SnapshotsWhat to do nextSee Managing Synthetic Monitors.