Configuring Synthetic Test Profiles
  
Configuring Synthetic Test Profiles
A synthetic test is the association of:
A test type (such as Ping, HTTP, or DNS), with settings like frequency and type-specific parameters,
A test target (a site or service being tested),
A test source (a test engine from which the target is tested).
A synthetic test profile is an object that describes a type and its settings, one or more targets, and one or more sources. A profile yields the multiple tests that are needed for a robust test regimen. A profile with three targets and three sources yields nine tests.
Use the Synthetic Testing wizard to create, clone, edit, or delete Profiles. To access the wizard, navigate to CONFIGURE-> All Settings->Monitor->Synthetic Testing.
This section includes the following topics:
“Working with Synthetic “DNS Test” Profiles" - A Domain Name Server (DNS) Test confirms that a domain name resolves to a particular IP address.
“Working with Synthetic “HTTP Test” Profiles" - An HTTP Test confirms the availability of a URL.
“Working with Synthetic “TCP Port Test” Profiles" - A TCP Port Test confirms the availability of a connection over TCP to a particular port.
“Working with Synthetic “Ping Test” Profiles" - The Ping Test confirms that a host is reachable over the network.
“Working with Synthetic “Database Test” Profiles" - The Database Test verifies connection to a database.
“Working with Synthetic “Selenium Test” Profiles" - A Selenium Test is an advanced HTTP test that interacts with a web site.
“Working with Synthetic “External Script Test” Profiles" - runs a script in VBScript, Python, Pearl, JavaScript, or any other scripting language to test particular functionality at one or more locations.
“Working with Synthetic “LDAP Test” Profiles" - An LDAP Test verifies the responsiveness of a directory service provider than runs Lightweight Directory Access Protocol (LDAP).
For additional tips on developing Synthetic Tests, go to support.riverbed.com and search the Riverbed Knowledge Base for “Synthetic Testing Overview”.
Related Topics
“Installing Synthetic Test Engines"
“Running and Viewing Synthetic Tests"
Working with Synthetic “DNS Test” Profiles
This section includes the following topics:
“Preparing for a “DNS Test”"
“Using the Wizard for a “DNS Test”"
Preparing for a “DNS Test”
The goal of a Synthetic “DNS Test” is to prove periodically that a DNS server can resolve the IP address of a web site, server, or host. It is first necessary to gather two bits of information that will be needed in the test Profile:
The name or IP address of the DNS server to be tested
The IP address of a web site (such as www.yahoo.com) whose IP address will be resolved periodically during the test
Run the nslookup command to find the DNS Server’s name and IP address. Important information is in bold.
C:\Users\Sam>nslookup www.yahoo.com
Server: clt1dmc-dnsp01.mycompany.com
Address: 10.46.18.11
Non-authoritative answer:
Name: fd-fp3.wg1.b.yahoo.com
Addresses: 2001:4998:58:c02::a9
98.139.180.149
                       98.139.183.24
Aliases: www.yahoo.com
> exit
In this case, the DNS server is clt1dmc-dnsp01.mycompany.com at address 10.46.18.11, and yahoo.com is found to have one IPv6 and two IPv4 addresses.
Using the Wizard for a “DNS Test”
Creating, Cloning, Editing, or Deleting a Synthetic “DNS Test” Profile
1. Login to the UI as a user with administrative privilege.
2. Navigate to CONFIGURE-> All Settings->Monitor->Synthetic Testing.
The Synthetic Testing Wizard appears, as shown in the following screen:
Wizard Step 1 - Choose Action:
3. Select an option:
Create Synthetic Test Profile
Create a new synthetic test profile.
Clone Synthetic Test Profile
Create a new synthetic test profile base on an existing test profile.
Edit Synthetic Test Profile
Edit the selected synthetic test profile and its tests.
Delete Synthetic Test Profile
Delete the selected synthetic test profile and its tests.
4. If you select clone, edit, or delete, choose an existing synthetic profile form the table below the options.
5. Click Next >>.
If you selected create, clone, or edit, continue with Wizard Step 6 - Summary:,
If you selected delete, highlight the name of an existing profile in the list below, click Next>>, then typically click Finish.
Wizard Step 2 - Test Details:
6. Specify the high-level details for the synthetic test profile:
Active: Select the checkbox to make the profile active.
Name: Specify a unique name for the profile. This field is required.
Test Type: From the drop-down list, select DNS. This field is required.
Test Frequency: Set now often the test will run.
Timeout: Set the number of seconds that the test will wait for a response before giving up. This field is required.
7. If this test is associated with the performance of one or more applications, specify the following:
Application: Specify the application names.
Device: Specify the name(s) of the devices, if applicable. Additionally, a device can be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
8. Click Next >>.
Wizard Step 3 - Test Configuration:
9. Specify the following:
Port: The default of 53.
Lookup Hostname: Specify the name of a host whose IP address must be resolved (in the form hostname.domain.com, like www.yahoo.com).
Expected IP Response: Specify the IP address that will indicate a successful test (such any one of the several known IP addresses of www.yahoo.com).
10. Click Next >>.
Wizard Step 4 - Test Sources:
11. Select one or more test sources from which this test should be run.
12. Click Next >>.
Wizard Step 5 - Test Targets:
13. Enter the name or IP address of one or more DNS Servers to be tested (such as clt1dmc-dnsp01.mycompany.com or 10.46.18.11).
14. Click Next >>.
Wizard Step 6 - Summary:
15. Review the synthetic profile to be created/deleted.
If you need to make changes, click << Previous.
When the information is correct, click Finish.
Working with Synthetic “HTTP Test” Profiles
This section covers the following topics:
“Preparing for an “HTTP Test”"
“Using the Wizard for an “HTTP Test”"
“Preparing a Client Certificate for an “HTTP Test”"
“Using the Wizard for an “HTTP Test” with Client Certificate"
“Correcting Common Errors from Synthetic “HTTP Test”"
Preparing for an “HTTP Test”
To prepare for a Synthetic “HTTP Test”, plan for the settings on the Test Configuration page in advance by performing the test manually through a browser.
Using the Wizard for an “HTTP Test”
Creating, Cloning, Editing, or Deleting a Synthetic “HTTP Test” Profile
1. Login to the UI as a user with administrative privilege.
2. Choose CONFIGURE->All Settings->Monitor->Synthetic Testing.
The Synthetic Testing wizard appears.
3. On the Choose Action page, click a radio button to specify whether you will Create, Clone, Edit, or Delete a Synthetic Test Profile.
If you are creating a Profile, click Next>>.
If you are cloning or editing a Profile, highlight the name of an existing profile in the list below, and click Next>>.
If you are deleting a Profile, highlight the name of an existing profile in the list below, click Next>>, then typically click Finish.
4. On the Test Details page, check Active. In the Name field, enter a unique name for this Profile. In the Test Type drop-down, pick HTTP. In the Test Frequency field, set how often this test will run, or accept the default of 300 seconds. Set Timeout to the number of seconds that this test must wait for a response before giving up.
If this test is associated with the performance of one or more applications, enter the Application name(s) here. Also set the name of a Device under test, if applicable. Device can also be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
5. Click Next>>.
6. On the Test Configuration page, all settings are optional, including the Match Pattern. If you do not provide a match pattern, the test still passes as long as the status code in the HTTP response is 200 OK.
Match Pattern—A case-sensitive search string to compare text from the URL against. For instance, if a Google search page appears, you might enter Google here. The search string cannot contain wildcard characters—the test interprets characters such as asterisk (*) and percent sign (%) as literals rather than as wildcards. You can use operators <AND>, <OR>, and <NOT> in the string to form logical expressions. The following table lists some rules for using those operators:
Rule
Example: Correct
Example: Incorrect
Operator must be all uppercase and in angle brackets (<>). Lowercase characters are interpreted as part of the search string.
<AND>
<and>
Spaces separating elements of the search string are interpreted as part of the string. This example finds “a node” but not “anode.”
a <AND>node
 
The string can include multiple substrings connected by <AND>.
a <AND> b <AND> c
 
The string can include multiple substrings connected by <OR>.
a <OR> b <OR> c
 
Do not mix <AND> and <OR> operators in a single string.
 
a <AND> b <OR> c
The string can use <NOT> with <AND> or <OR>, but must use <NOT> as the first term in the expression. <NOT> always refers to the entire expression that follows it in the string, not just the next adjacent word or operator. In the example, <NOT> refers to A, B, and C.
<NOT> A <AND> B <AND> C
 
Do not use parentheses or brackets to nest operators. These characters are interpreted as part of the string.
 
<NOT> (A <AND> B)
7. Click Advanced.
Set Security Protocol to TLS (Transport Layer Security) for any communication that needs to be secure (https), even redirects. Riverbed recommends you do not change this field setting to SSL.
Under Certificate, set:
Alias—Alias name for the client certificate that the test should use. If you have only a single client certificate in the keystore, an alias is not required.
Password—Client certificate master private password the test should use. The master password encrypts or decrypts all keys in the keystore. You create the password associated with the certificate when you install the Test Engine.
Under Headers, set:
Basic Authentication—If access to the web server requires Basic Authentication, set the User ID and Password here.
NTLM Authentication—If access to the web server requires NT LAN Manager (NTLM) Authentication, such as a SharePoint site does, set the Domain, Username, and Password here.
User Agent—Request-header field. Select from the drop-down list the user agent originating the request. Usually ASnX/VNES Test Engine. This setting is for calculating statistics, tracing protocol violations, and generating automated responses tailored to the agent, to avoid limitations of a particular user.
Content Type—Entity-header field. Format of the content being accessed over HTTP and sent to a recipient. For a HEAD method, the type of content that would have been sent if the request were a GET. Choose from text/plain, text/html, text/xml, application/x-www-form-unencoded, application/xml, application/json, or application/soap+xml.
Pragma—General-header field. Add implementation-specific directives that apply to any recipient along the request/response chain. All pragma directives are optional to the protocol; however, some systems might require adherence to these directives.
Proxy host—the hostname or IP address of a web proxy through which test engines access the network. All HTTP tests generated by this profile use the same Proxy host.
Proxy port—the TCP port on the Proxy host at which the web proxy listens
Proxy username—the username required to access the Proxy host.
Proxy password—the password required to access the Proxy host.
Other Headers—Header Name and Header Value—Custom header name and value that the request might contain. Click the plus sign to add more fields.
Request Body—Body of the HTTP request to send. Generates a POST request, sending the data in the body of the HTTP request for the URL. Enter a string with input data to be sent to the URL, usually HTML form fields and corresponding input using name/value pairs in the following format:
name=value&name=value...
Example: user=sysadmin&pass=topadmin
The data can be in any format that the server of the URL can process. When sending HTML form fields, you usually set the Content Type to application/x-www-form-unencoded.
For SOAP and XML web services, the input is raw XML and does not require the format used for HTML form fields, but does require you set the Content Type to the correct setting, such as text/xml for XML services.
8. Click Next >>.
9. On the Test Sources page, select one or more Test Engines from which this test should be run, and click Next >>.
10. On the Test Targets page, enter the URL or IP address of one or more devices or applications to be tested. Do not include http:// or https:// in the URL. Click Next >>.
11. On the Summary page, verify all settings. Click << Previous to go back and modify, or click Finish to save the profile.
Preparing a Client Certificate for an “HTTP Test”
If communication with a secure web application requires that the client supplies a verified certificate for authentication, then you must supply the same certificate when creating synthetic tests for that web application. The Synthetic HTTP Test has an option for using a client-side certificate establishing a secure connection with a web server.
The following procedure applies only to cases where both the server and the client have certificates to be exchanged. It does not apply to cases where the secure web server supplies a signed certificate to establish an HTTPS connection.
Importing a Client Certificate to a Test Engine for an HTTP Test
A newly installed test engine has a keystore at <Install_Dir>\TestEngine\te_keystore.jks such as c:\Riverbed\TestEngine\te_keystore.jks. Use this procedure to import a certificate to it.
The keystore can hold multiple certificates. Typically, use the default keystore and do not create multiple keystores.
1. Open a command prompt on the test engine machine and navigate to the Test Engine installation directory such as c:\Riverbed\TestEngine
2. Verify the keystore’s integrity by running the following command:
te.bat /ks_cmd verify /ks_dir c:\Riverbed\TestEngine KEYSTORE
At every prompt, accept the default by pressing Enter.
If you have never imported a certificate to the keystore, the output is something like:
Great! You have correctly set up the keystore:C:\Riverbed\TestEngine\te_keystore.jks
. . .
Your keystore contains 0 entries
3. Import a certificate by running the following command. This command runs a script:
te.bat /ks_cmd import KEYSTORE
The prompts issued by the script are:
Key Store [c:\Riverbed\TestEngine\te_keystore.jks]:
Typically, press Enter to accept the default. Or enter an alternate path if a keystore exists there. The keystore file must always be te_keystore.jks.
Key Store Password:
Enter the keystore password you specified during installation of the test engine. This is the password that was set during test engine installation, such as changeit.
Master Key Password:
All keys must have the same password.
Make up any password upon importing the first certificate to this keystore. Use the same password upon importing subsequent certificates to this keystore. And use the same password during configuration of HTTP tests that require a certificate.
Don’t lose the password.
Path to the Certificate:
Enter the path to the certificate you are importing to the keystore, such as c:\Users\Administrator\Desktop\webmonitor06-2015.pfx
Certificate Key Password:
Enter the password that was received with the certificate from the issuing authority. After import to the test engine’s keystore, the this password will no longer be needed.
4. The result of this script is an Alias, such as a52e275a414470c336fb79b26e8fd422_34ff884a-1c8b-460b-9fd6-f90fba3c2fa2890. Copy and paste it to a safe location. This Alias, plus the Master Key Password used at step , must be entered into the “Certificate section” of the Synthetic Testing Wizard. See step 6 of “Using the Wizard for HTTP Test with Certificate".
Using the Wizard for an “HTTP Test” with Client Certificate
Using the Wizard for HTTP Test with Certificate
1. Login as a user with administrative privilege.
2. Choose CONFIGURE->All Settings->Monitor->Synthetic Testing.
The Synthetic Testing wizard appears.
3. On the Choose Action page, click a radio button to specify whether you will Create, Clone, Edit, or Delete a Synthetic Test Profile.
If you are creating a Profile, click Next >>.
If you are cloning or editing a Profile, highlight the name of an existing profile in the list below, and click Next >>.
If you are deleting a Profile, highlight the name of an existing profile in the list below, click Next>>, then typically click Finish.
4. On the Test Details page, check Active. In the Name field, enter a unique name for this Profile. In the Test Type drop-down, pick HTTP. In the Test Frequency field, set how often this test will run, or accept the default of 300 seconds. Set Timeout to the number of seconds that this test must wait for a response before giving up.
If this test is associated with the performance of one or more applications, enter the Application name(s) here. Also set the name of a Device under test, if applicable. Device can also be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
5. Click Next >>.
6. On the Test Configuration page, click Advanced and enter the Alias string and the Master Key Password in the Certificate section. Click Next>>.
7. On the Test Sources page, select one or more Test Engines from which this test should be run, and click Next >>.
8. On the Test Targets page, enter the URL or IP address of one or more devices or applications to be tested, then click Next >>.
9. On the Summary page, verify all settings. Click <<Previous to go back and modify, or click Finish to save the profile.
Correcting Common Errors from Synthetic “HTTP Test”
Cannot Recover Key
This error indicates that the Certificate Password in the HTTP test is incorrect, as shown n the following screen:
Correct this error by correcting the Certificate Password in the associated Synthetic Test. Then re-run the test.
If you do not remember the password, navigate on the Test Engine host to the installation directory (such as <TestEngineHome>\TestEngine\) and run configureTestEngine.bat /help. Follow the instructions to import_cert, verify_keystore, or empty_keystore to re-import the certificate or change the keystore password if necessary.
Keystore Was Tampered With or Password Was Incorrect
This error indicates that the keystore password is incorrect. The keystore password configured on the keystore does not match the password that the Test Engine has registered.
“Keystore was tampered with, or password was incorrect” error
On the Test Engine host, navigate to the Test Engine installation directory (such as <TestEngineHome>\TestEngine\) and run configureTestEngine.bat
Follow the prompts to enter an old and new keystore password. When that operation is complete, the keystore and Test Engine keystore password will be in sync.
Working with Synthetic “TCP Port Test” Profiles
This section covers the following topics:
“Preparing for a “TCP Port Test”"
“Using the Wizard for a “TCP Port Test”"
Preparing for a “TCP Port Test”
To ascertain the number of a TCP port, first refer to the technical documentation that accompanies the product that utilizes that port.
A variety of software tools can ascertain the TCP port number(s) utilized by a particular application or service, including but not limited to netstat. Use the following command on the target machine (or on any other host that is configured similarly).
netstat -b -a -P TCP
A TCP port number can be 1 to 5 digits.
Also ascertain the URI of the target host, such as appserver.mycompany.com or 10.20.30.40.
Using the Wizard for a “TCP Port Test”
Creating, Cloning, Editing, or Deleting a Synthetic “TCP Port Test” Profile
1. Login to the NetIM UI as a user with administrative privilege.
2. Navigate to CONFIGURE-> All Settings->Monitor->Synthetic Testing.
The Synthetic Testing Wizard appears, as shown in the following screen:
3. On the Choose Action page, click a radio button to specify whether you will Create, Clone, Edit, or Delete a Synthetic Test Profile.
If you are creating a Profile, click Next>>.
If you are cloning or editing a Profile, highlight the name of an existing profile in the list below, and click Next >>.
If you are deleting a Profile, highlight the name of an existing profile in the list below, click Next>>, then typically click Finish.
4. On the Test Details page, check Active. In the Name field, enter a unique name for this Profile. In the Test Type drop-down, pick TCP. In the Test Frequency field, set how often this test will run, or accept the default of 300 seconds. Set Timeout to the number of seconds that this test must wait for a response before giving up.
If this test is associated with the performance of one or more applications, enter the Application name(s) here. Also set the name of a Device under test, if applicable. Device can also be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
5. Click Next >>.
6. On the Test Configuration page, specify the port that the TCP connection uses, then click Next>>.
7. On the Test Sources page, select one or more Test Engines from which this test should be run, and click Next >>.
8. On the Test Targets page, enter the URL or IP address of one or more devices or applications to be tested, then click Next >>.
9. On the Summary page, verify all settings. Click << Previous to go back and modify, or click Finish to save the profile.
Working with Synthetic “Ping Test” Profiles
This section covers the following topics:
“Preparing for a “Ping Test”"
“Using the Wizard for a “Ping Test”"
Preparing for a “Ping Test”
Before creating the profile for a Synthetic “Ping Test”, ascertain the URI of the target system, such as www.riverbed.com or 68.142.108.128.
Using the Wizard for a “Ping Test”
Creating, Cloning, Editing, or Deleting a Synthetic ‘Ping Test” Profile
1. Login to the UI as a user with administrative privilege.
2. Navigate to CONFIGURE-> All Settings->Monitor->Synthetic Testing.
The Synthetic Testing Wizard appears, as shown in the following screen:
3. Start the wizard. On the Choose Action page, click a radio button to specify whether you will Create, Clone, Edit, or Delete a Synthetic Test Profile.
If you are creating a Profile, click Next >>.
If you are cloning or editing a Profile, highlight the name of an existing profile in the list below, and click Next>>.
If you are deleting a Profile, highlight the name of an existing profile in the list below, click Next >>, then typically click Finish.
4. On the Test Details page, check Active. In the Name field, enter a unique name for this Profile. In the Test Type drop-down, pick Ping. In the Test Frequency field, set how often this test will run, or accept the default of 300 seconds. Set Timeout to the number of seconds that this test must wait for a response before giving up.
If this test is associated with the performance of one or more applications, enter the Application name(s) here. Also set the name of a Device under test, if applicable. Device can also be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
5. Click Next >>.
6. On the Test Configuration page, specify the number of ping attempts that should be made with each ping test, then click Next >>.
7. The Advanced section of the Test Configuration page contains two regular expressions, one for use with Ping Tests deployed on test engines on Windows hosts, and one for Ping Tests on test engines on Linux hosts. These expressions detect the response times in the output of the ping command. Modify an expression only if: Ping Tests run but fail persistently, or the Ping test’s status message indicates that expected response was not found but the response looks like success to you.
8. On the Test Sources page, select one or more Test Engines from which this test should be run, and click Next >>.
9. On the Test Targets page, enter the URL or IP address of one or more devices, applications, or services to be tested, then click Next >>.
10. On the Summary page, verify all settings. Click << Previous to go back and modify, or click Finish to save the profile.
Working with Synthetic “Database Test” Profiles
This section covers the following topics:
“Preparing for a “Database Test”"
“Using the Wizard for a “Database Test”"
Preparing for a “Database Test”
Before creating the profile for a Synthetic ‘Database Test’, verify that the database is JDBC compatible, in which case it is accessible by a URL of the form jdbc: databaseType :// host: portNum/name. The database that serves NetIM, for example, is accessible by a URL like:
jdbc:postgresql://10.20.30.40:5492/vnes
Also ascertain a username and password that can access the database, such as dssadmin and OpNet123! for NetIM’s instance of PostgreSQL.
The 5492 is the port number at which PostgreSQL 9.2 listens.
To enable a test engine to access a JDBC-compatible database, it is necessary to copy the vendor’s JDBC driver jar file to <TestEngineInstallDir> \TestEngine \testengine \active_agent \extensions \test_engine \test_engine_0 \lib \jdbc\ . Obtain the jar file from the database vendor or from a directory of support files within the installed product. A test engine comes with the PostgreSQL, Oracle, and Microsoft SQL Server drivers installed. Restart the test engine’s host after copying the jar file.
Using the Wizard for a “Database Test”
Creating, Cloning, Editing, or Deleting a Synthetic “Database Test” Profile
1. Login to th UI as a user with administrative privilege.
2. Navigate to CONFIGURE-> All Settings->Monitor->Synthetic Testing.
The Synthetic Testing Wizard appears, as shown in the following screen:
3. On the Choose Action page, click a radio button to specify whether you will Create, Clone, Edit, or Delete a Synthetic Test Profile.
If you are creating a Profile, click Next >>.
If you are cloning or editing a Profile, highlight the name of an existing profile in the list below, and click Next >>.
If you are deleting a Profile, highlight the name of an existing profile in the list below, click Next >>, then typically click Finish.
4. On the Test Details page, check Active. In the Name field, enter a unique name for this Profile. In the Test Type drop-down, pick Database. In the Test Frequency field, set how often this test will run, or accept the default of 300 seconds. Set Timeout to the number of seconds that this test must wait for a response before giving up.
If this test is associated with the performance of one or more applications, enter the Application name(s) here. Also set the name of a Device under test, if applicable. Device can also be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
5. Click Next >>.
On the Test Configuration page, all settings are required.
In the JDBC URL field, enter a single JDBC URL, or enter %URI% which will be replaced with all of the URI’s you enter on the Test Targets page.
6. Enter the Username, and Password.
7. Click Next>>.
Optionally, click Advanced and enter:
SQL Query— an SQL Query string.
Expected Results— If you want to test for specific query results, enter the Column Name and Value.
Use the + sign to enter multiple column names and their expected values. All of the expected values must be present in the result for the test to pass. The expected results need not be in the same row for the test to pass.
8. On the Test Sources page, select one or more Test Engines from which this test should be run, and click Next >>.
9. On the Test Targets page, enter the JDBC URL of one or more databases to be tested. If you enter more than one, verify that you entered %URI% on the Test Configuration page. Click Next >>.
10. On the Summary page, verify all settings. Click << Previous to go back and modify, or click Finish to save the profile.
Working with Synthetic “Selenium Test” Profiles
To create a Selenium test, you first create an HTML file containing a recording of browser actions that you want to test to be sure they run successfully. You create the HTML file using the Selenium IDE, a Mozilla Firefox browser add-on that you download from the web, install, and then use through the browser. You use this IDE to record actions in the browser, such as logging in to a web server product, and store them in an HTML file. You then create a synthetic test that plays back the recorded actions and determines whether they completed successfully.
The Selenium IDE where you record the Selenium test runs only in Mozilla Firefox and works in most versions of Mozilla Firefox.
This section covers the following topics:
“Preparing for a “Selenium Test”"
“Preparing a Client Certificate for a “Selenium Test”"
“Using the Wizard for a “Selenium Test”"
“Watching a Synthetic “Selenium Test” In Action"
Preparing for a “Selenium Test”
Examples of Selenium Tests are located on NetIM core in the following directory:
<install_dir>/input/SynTestScripts
Recording a Web Interaction in a Selenium HTML File
1. To record and replay a web interaction, you will use the Selenium IDE add-in for the Firefox browser. Search the Riverbed Knowledge Base for “NetSensor Selenium IDE” to find the version number of a compatible Selenium IDE, then download that version from http://docs.seleniumhq.org/
2. Install the Selenium IDE. After it is installed, you can access the add-on from inside a browser, by selecting Tools > Selenium IDE. or by clicking an icon in the icon bar.
3. When you open the Selenium IDE, it immediately begins recording actions you take in the browser.
Selenium IDE for Recording Browser Actions
4. Take actions you would like to record. For instance, enter the URL to your web application’s login page and log in with a user name and password.
5. To stop recording, click the red button to the upper right.
6. Use the Selenium IDE to customize or modify the code as necessary.
7. Select File > Save Test Case and save the test case to a convenient directory in a file named <test-case-name>.html.
Do not manually modify the HTML file after this step. To tweak the code, return to step 6
8. Notice that in the Table tab of the Selenium IDE, you can see the commands for the various actions the case takes in the browser. In the example in Figure 24‑2., you see commands to open the browser, then keystrokes, then a click-and-wait action. Your test should show similar actions.
9. You are now ready to use that test case in a synthetic test.
Preparing a Client Certificate for a “Selenium Test”
Most Synthetic ‘Selenium Tests’ do not require a Client Certificate. In most cases, skip this section.
If communication with a secure web application requires that the client supplies a verified certificate for authentication, then you must supply the same certificate when creating synthetic tests for that web application. To test recorded web transactions using a Selenium test in this case, the browser that executes the test must have access to the client-side certificate.
The following procedure applies only to cases where both the server and the client have certificates to be exchanged. It does not apply to cases where the secure web server supplies a signed certificate to establish an HTTPS connection.
Selenium tests using client certificates are supported only on the Firefox web browser.
Setting Up Client Certificates for Selenium Tests
1. Navigate to <TestEngineHome>\testengine\active_agent\extensions\test_engine \test_engine_0\conf\selenium_tests\ and create a new folder such as Test.
2. Create a new Mozilla Firefox profile.
3. Open a command prompt on the test engine machine, navigate to the Mozilla Firefox directory (such as C:\Program Files(x86)\Mozilla Firefox\), and type firefox.exe -P at the prompt.
4. Click Create Profile…, then enter a profile name that matches the folder name you created at step 1 (such as Test).
5. Click the Choose Folder… button to select the folder you created in step 2, then click Finish and Exit.
6. Import a client-side certificate into Firefox.
To import a certificate file (.p12 or .pfx), you must know the password associated with the certificate.
7. Launch Firefox, click Tools > Options > Advanced, then click the Certificates tab.
8. Choose Select one automatically, and then click the View Certificates button.
9. On the Your Certificates tab, click the Import button.
10. Choose the certificate file. When prompted, enter the certificate password and click OK.
Using the Wizard for a “Selenium Test”
Use this procedure to create a Profile for a Synthetic ‘Selenium Test’ with or without a security certificate.
If a security certificate is needed, see “Preparing a Client Certificate for a “Selenium Test”" before using the Wizard here.
Creating, Cloning, Editing, or Deleting a Synthetic “Selenium Test” Profile
1. Login to the UI as a user with administrative privilege.
2. Navigate to CONFIGURE-> All Settings->Monitor->Synthetic Testing.
The Synthetic Testing Wizard appears, as shown in the following screen:
3. On the Choose Action page, click a radio button to specify whether you will Create, Clone, Edit, or Delete a Synthetic Test Profile.
If you are creating a Profile, click Next >>.
If you are cloning or editing a Profile, highlight the name of an existing profile in the list below, and click Next >>.
If you are deleting a Profile, highlight the name of an existing profile in the list below, click Next >>, then typically click Finish.
4. On the Test Details page, check Active. In the Name field, enter a unique name for this Profile. In the Test Type drop-down, pick Selenium. In the Test Frequency field, set how often this test will run, or accept the default of 300 seconds.
Set Timeout to the number of seconds that this test must wait for a response before giving up. The default timeout for each step in a Selenium Test is 30 seconds. Ensure that the Timeout you set here is sufficient for every step of the Selenium Test to take its maximum time. If this Timeout is insufficient, the Selenium Test cannot report its reason for failure.
If this test is associated with the performance of one or more applications, enter the Application name(s) here. Also set the name of a Device under test, if applicable. Device can also be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
5. Click Next >>.
6. On the Test Configuration page, click Upload, browse and select the test HTML file, and click Open.
In the drop-down menu, select the test type: Web Driver (default), RC using Mozilla Firefox, RC using Google Chrome, or RC using Internet Explorer. (If this “Selenium Test” requires custom browser settings, such as a permanent acceptance of an unsigned server-side certificate, or a client-side certificate, then you’ll need Mozilla Firefox with a named profile). The chosen browser must exist on the host of every test source (Test Engine) where this test is or will be deployed. A “Selenium Test” can be played back on: Firefox Version 21.
Only if this “Selenium Test” requires Mozilla Firefox with a named profile, click Advanced and set the Firefox Profile Template to the name of the Profile created in Setting Up Client Certificates for Selenium Tests,.
7. Click Next >>.
8. On the Test Sources page, select one or more Test Engines from which this test should be run, and click Next >>.
9. On the Test Targets page, enter the URL or IP address of one or more devices or applications to be tested, Include “http://” in the URLs. Click Next>>.
10. On the Summary page, verify all settings. Click << Previous to go back and modify, or click Finish to save the profile.
Watching a Synthetic “Selenium Test” In Action
All Synthetic “Selenium Tests” run on the Riverbed Test Engine service in the Local System user account of the test engine host. Every time a “Selenium Test” runs (whether scheduled or on demand), the Interactive Services Detection dialog pops up. This popup notifies the logged-in user that the Local System user’s desktop can be opened for viewing.
Interactive Services Detection dialog
To view the interaction of a Synthetic “Selenium Test” on the test engine in real time, click View the message on the Interactive Services Detection dialog. A ‘Selenium Test’ is the only synthetic test type that “plays” its interaction on the Local System user’s desktop.
The test engine’s host is usually unattended, and it is safe to leave this popup open indefinitely.
Working with Synthetic “External Script Test” Profiles
This section covers the following topics:
“Preparing a Script for an “External Script Test”"
“Using the Wizard for an “External Script Test”"
Preparing a Script for an “External Script Test”
Create a script containing the external test and store it in any directory for easy access. Use any scripting language that is supported on the Test Engine machine on which the script will be deployed, including Visual Basic, Python, Perl, and JavaScript.
Examples of Selenium Tests are located on NetIM core in the following directory:
<install_dir>/input/SynTestScripts
The script must return zero to be considered a success. The Test Engine interprets a non-zero exit code as a failure.
Using the Wizard for an “External Script Test”
Creating, Cloning, Editing, or Deleting a Synthetic “External Script Test” Profile
1. Login to the UI as a user with administrative privilege.
2. Navigate to CONFIGURE-> All Settings->Monitor->Synthetic Testing.
The Synthetic Testing Wizard appears, as shown in the following screen:
3. On the Choose Action page, click a radio button to specify whether you will Create, Clone, Edit, or Delete a Synthetic Test Profile.
If you are creating a Profile, click Next >>.
If you are cloning or editing a Profile, highlight the name of an existing profile in the list below, and click Next >>.
If you are deleting a Profile, highlight the name of an existing profile in the list below, click Next>>, then typically click Finish.
4. On the Test Details page, check Active. In the Name field, enter a unique name for this Profile. In the Test Type drop-down, pick External Script. In the Test Frequency field, set how often this test will run, or accept the default of 300 seconds. Set Timeout to the number of seconds that this test must wait for a response before giving up.
If this test is associated with the performance of one or more applications, enter the Application name(s) here. Also set the name of a Device under test, if applicable. Device can also be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
5. Click Next >>.
6. On the Test Configuration page, enter the full path to the script file or browse to it.
Then enter the Command that should run the script as you would if you were at the command line on a Test Engine machine:
cscript <scriptname> “Riverbed Test Engine” %URI%
%URI% will be replaced by the URIs (if any) that you specify on the Test Targets page.
Optionally, enter the Working Directory from which the script must be run.
Optionally, enter as many Environment Variables as the script requires.
7. Click Next >>.
8. On the Test Sources page, select one or more Test Engines from which this test should be run, and click Next >>.
9. On the Test Targets page, enter the URL or IP address of one or more devices or applications to be tested, then click Next>>. These URIs are later substituted into the %URI% variable (if any) that you entered in the Test Configuration page.
10. On the Summary page, verify all settings. Click << Previous to go back and modify, or click Finish to save the profile.
Working with Synthetic “LDAP Test” Profiles
The Lightweight Directory Access Protocol (LDAP) is a protocol for querying and modifying items in a directory service provider like Active Directory.
A basic “LDAP Test” returns true or false to indicate the availability of a directory service.
An advanced “LDAP Test” tests for specific values in a directory service’s database.
This section includes the following topics:
“Preparing for an “LDAP Test”"
“Using the Wizard for an “LDAP Test”"
Preparing for an “LDAP Test”
For a basic Synthetic “LDAP Test”, ascertain the following before using the wizard:
The Port number is the IP port at which the directory service listens; default 389 when the directory service is Active Directory.
For a basic test, the Username and Password are of any user with credentials in the directory service. For an advanced test, the Username and Password are of any user with authority to submit the advanced parameters below.
The URI of a directory service provider is like DirSvcOne.myCompany.com. Your company is likely to have several redundant servers, so find the full list of URIs like DirSvcOne.myCompany.com, DirSvcTwo.myCompany.com, and DirSvcThree.myCompany.com.
For an advanced Synthetic “LDAP Test”, also ascertain the following in advance:
A Base DN specifies the domain and top-level domain of the directory service, such as dc=myCompany,dc=com.
A Search String (also known as an LDAP Filter) is a set of keywords and values that narrow the search for a set of records in the directory service. Search the Internet for “RFC 2254 String Representation of LDAP Search Filters” or just “LDAP filter syntax”. For example:
(objectCategory=user) - the set of all users,
(&(objectCategory=person)(objectClass=user)) - the set of all users that are real people,
(&(objectCategory=person)(objectClass=user)(cn=*son)) - real people with username ending in “son”,
(&(objectCategory=person)(objectClass=user)(cn=jsmith)) - all real people with username “jsmith”.
An Expected Name is the name of a field in the returned record(s). An Expected Name might be state or memberOf.
Consult your LDAP administrator for the set of valid Expected Names. Alternatively, run a test with an arbitrary Expected Name, and the results will include a list of valid names from which to choose.
An Expected value is the value of Expected Name which constitutes a successful test. The Expected value assumes various forms, such as NY or cn=CA-office,cn=user,dc=mycompany,dc=com.
Consult your LDAP administrator for the set of valid Expected values for each Expected Name. Alternatively, run a test with an arbitrary Expected value, and the results will include a list of valid values from which to choose.
The test passes if the value in the Expected Name field of at least one record matches Expected value.
Example of an advanced Synthetic “LDAP Test”
The goal is to prove throughout the day that Big Company’s two LDAP servers have not lost their configurations for a computer in Florida whose username is FLcardreader.
Port - 389
Username - bjohnson, Password - Bob!Pass5
URI of a directory service provider - DS1.bigco.com, and DS2.bigco.com
Base DN - dc=bigco,dc=com
Search String -(&(objectCategory=computer)(objectClass=user)(cn=FLcardreader))
Expected Name - state
Expected value - FL
Using the Wizard for an “LDAP Test”
Creating, Cloning, Editing, or Deleting a Synthetic “LDAP Test” Profile
1. Login to the UI as a user with administrative privilege.
2. Navigate to CONFIGURE-> All Settings->Monitor->Synthetic Testing.
The Synthetic Testing Wizard appears, as shown in the following screen:
3. On the Choose Action page, click a radio button to specify whether you will Create, Clone, Edit, or Delete a Synthetic Test Profile.
If you are creating a Profile, click Next >>.
If you are cloning or editing a Profile, highlight the name of an existing profile in the list below, and click Next >>.
If you are deleting a Profile, highlight the name of an existing profile in the list below, click Next>>, then typically click Finish.
4. On the Test Details page, check Active. In the Name field, enter a unique name for this Profile. In the Test Type drop-down, pick LDAP. In the Test Frequency field, set how often this test will run, or accept the default of 300 seconds. Set Timeout to the number of seconds that this test must wait for a response before giving up.
If this test is associated with the performance of one or more applications, enter the Application name(s) here. Also set the name of a Device under test, if applicable. Device can also be the name of a region, business group, or other designator. These properties are passed to downstream SteelCentral products for identifying and organizing Synthetic Test results.
5. Click Next >>.
6. On the Test Configuration page, enter the settings that enable the test to ascertain availability of an LDAP-enabled directory service: Port, Username, and Password. For details, see “Preparing for an “LDAP Test”".
With optional Advanced settings, the test will not only ascertain the availability of a the LDAP-enabled directory server, but also test the values of a named entry in the LDAP database. Enter the Base DN, Search String, Expected name, and Expected value. For details, see “Preparing for an “LDAP Test”"
7. Click Next >>.
8. On the Test Sources page, select one or more Test Engines from which this test should be run and click Next >>.
9. On the Test Targets page, enter the URI of one or more directory service providers to be tested. Directory servers typically act as backup for each other, so in most cases, enter the names of all directory servers in the enterprise. Then click Next >>.
10. On the Summary page, verify all settings. Click << Previous to go back and modify, or click Finish to save the profile.