Selenium (software) – Wiki

Overview

The Selenium Project, responsible for Selenium, is an open-source umbrella project for a range of tools and libraries aimed at supporting web browser automation, including both testing and admin tasks. The Selenium suite of components works across different browsers, platforms, and programming languages. The project is made possible by volunteer contributors who have put in thousands of hours of their own time and have made the source code freely available for anyone to use, enjoy, and improve.

The Selenium Project provides a test domain-specific language, Selenese, to write tests in a number of popular programming languages, including JavaScript (Node.js), C#, Groovy, Java, Perl, PHP, Python, Ruby and Scala. The tests can then run against most modern web browsers. Selenium runs on Windows, Linux, and MacOS and is an open-source software released under the Apache License 2.0. Selenium has three main project components: WebDriver, IDE and Grid.

WebDriver

WebDriver uses browser automation APIs provided by browser vendors to control browser and run tests. WebDriver is designed to act as if a real user is operating the browser. Since WebDriver does not require its API to be compiled with application code, it is not intrusive, and testing can be done on the same applications that will be pushed into production.

IDE

IDE (Integrated Development Environment) is the tool used to develop Selenium test cases. It’s an easy-to-use Chrome and Firefox extension and is generally the most efficient way to develop test cases. It records the users’ actions in the browser, using existing Selenium commands with parameters defined by the context of that element. Selenium IDE uses a language called Selenese.

Grid

Selenium Grid allows test cases to be run in different machines across different platforms. The control of triggering the test cases is on the local end, and when the test cases are triggered, they are automatically executed by the remote end. After the development of the WebDriver tests, tests can be run on multiple browser and operating system combinations. This is where Grid comes into the picture.

Sponsors

The Selenium Project depends on sponsors, as it is open-source software through volunteer contributors. The project has many sponsors, including BrowserStack, Sauce Labs, experitest, applitools, Perfecto, LambdaTest, Subject7 and AVO Automation.

History

Jason Huggins began the idea of Selenium in 2004 at ThoughtWorks in Chicago. He was building the Core mode as “JavaScriptTestRunner” for testing an internal time and expenses application (Python, Plone), because automatic testing of any applications was core to ThoughtWorks. He had help from Paul Gross and Jie Tina Wang.

Later in 2004, Paul Hammant, also from ThoughtWorks, joined the project and started discussions about open-sourcing Selenium.

At Bea Systems, Dan Fabulich and Nelson Sproul became involved, and soon “Selenium Remote Control (RC)” was born. Pat Lightbody joined them to work on Selenium RC to make it stable for large scale deployment. Shinya Kasatani in Japan also found interest in Selenium and started to work on Selenium IDE.

In 2007, Jason Huggins joined the then secret Selenium team at Google, and with other Googlers like Jennifer Bevan, worked on a grid capability to test some of Google’s public applications. Google presented their use of Selenium at the second Google Test Automation Conference (GTAC), and Jennifer was invited to join the Selenium team.

Later in 2007, Haw-bin Chai in Chicago developed the “UI Element” extension, which he was invited to merge into Selenium IDE by joining the team. Meanwhile, Simon Stewart worked on another tool called “WebDriver.” Soon, it was decided that the two projects should merge for Selenium 2.0 and joined Google to make it happen. Now, Erik Beans does much of the work at Google.

Xổ số miền Bắc