Selenium Scripts

What is a Selenium Script?

Selenium is an open source software suite of browser automation tools that automate web browser interactions for testing purposes. In essence, Selenium-enabled scripts simulate a user interaction with a web page using a synthetic sequence of user behavior representing a test case that includes selecting options, entering data in various fields, and specifying wait times at various points in the interaction.

These interactions are processed in a runtime environment using widely deployed programming languages such as C#, JavaScript, Perl, PHP, Python, and Ruby. Through one of these programming environments, Selenium-specific commands (representing user/browser web application interactions) are invoked to access a Selenium runtime component that interacts with various browser environments on multiple operating system platforms.

The Selenium runtime component (Selenium-WebDriver) supports the following browsers along with the operating systems these browsers are compatible with including:

  • Google Chrome
  • Safari
  • Internet Explorer 7, 8, 9, 10, and 11 on appropriate combinations of Vista, Windows 7, Windows 8, and Windows 8.1.
  • Firefox
  • Opera
  • Android & iOS browsers

Selenium also provides a tool called the Selenium IDE (Integrated Development Environment) for creating and testing Selenium scripts is implemented as a Chrome and Firefox browser extension. This tool allows developers to record, edit, and debug tests.

Selenium and Web Performance Testing

Selenium tests are commonly used to create a testing framework that simulates transactions that web users frequently execute, such as performing a search or logging in to an account. This testing give visibility into how users experience a specific website or portal and provide web developers information that is critical to optimizing web performance. Monitoring web transactions using Selenium-based scripts can also be helpful for a variety of operations roles, including those who want to monitor internal applications like customer support applications, and SaaS and e-commerce companies—and their customers—who need to ensure that their often complex web pages are loading as expected.

There are many web performance testing use cases in which Selenium-based transaction tests can help understand website performance. Some key use cases include:

  • Measure load scenarios—For example, measure how long it takes to return the results of a particular search, or observe site performance for a site behind form-based authentication.
  • Test specific functionality—Make sure that site functionalities, like search or a shopping cart, work as expected.
  • Before and after events—See how changes in your site's code or other events affect user experience.
  • Benchmark competitors—Compare how much time a transaction takes on your site and comparable sites.
  • Optimize site performance—See all web objects in the order they load and each of their load times to optimize how your site executes transactions.

ThousandEyes Selenium Integration

ThousandEyes has integrated Selenium scripts into its network monitoring products to make application performance monitoring possible without having to know how to write Selenium scripts or deploy their runtime environment components. Using the ThousandEyes Recorder via a Chrome browser, developers can create tests scripts that identify time intervals between various operations on a web page that can be measured and logged. ThousandEyes Enterprise and Cloud Agents can then be used to run test scripts in remote locations to help application designers and support staff identify application performance issues that could be beyond their control in the cloud.

To see what Selenium commands are supported directly by ThousandEyes environment see this online documentation.