History of Selenium Testing Tool
History of Selenium Testing Tool
Selenium was originally developed by Jason Huggins in 2004, who was later joined by other programmers and testers at ThoughtWorks. It is open-sour e so!tware, released under the "pa he 2.0 li ense, and an be downloaded and used without harge. #he name omes !rom a jo$e made by Huggins in an email, mo $ing a ompetitor named %er ury, saying that you an ure mer ury poisoning by ta$ing Selenium supplements. #he others that re eived the email too$ the name and ran with it.&2' #he latest side proje t is Selenium (rid, whi h provides a hub allowing the running o! multiple Selenium tests on urrently on any number o! lo al or remote systems, thus minimi)ing test e*e ution time. Selenium omponents Selenium IDE Selenium IDE is a omplete integrated development environment +I,-. !or Selenium tests. It is implemented as a /ire!o* e*tension, and allows re ording, editing, and debugging tests. It was previously $nown as Selenium 0e order. Selenium-IDE was originally reated by Shinya 1asatani and donated to the Selenium proje t in 2002. S ripts may be automati ally re orded and edited manually providing auto ompletion support and the ability to move ommands around 3ui $ly. S ripts are re orded in Selenese, a spe ial test s ripting language !or Selenium. Selenese provides ommands !or per!orming a tions in a browser + li $ a lin$, sele t an option., and !or retrieving data !rom the resulting pages. Selenium lient A!I "s an alternative to writing tests in Selenese, tests an also be written in various programming languages. #hese tests then ommuni ate with Selenium by alling methods in the Selenium 4lient "5I. Selenium urrently provides lient "5Is !or Java, 46, 0uby and 5ython. 7ith Selenium 2, a new 4lient "5I was introdu ed +with WebDriver as its entral omponent.. However, the old "5I +using lass Selenium. is still supported. Selenium "emote ontrol Selenium "emote ontrol +" . is a server, written in Java, that a epts ommands !or the browser via H##5. 04 ma$es it possible to write automated tests !or a web appli ation in any programming language, whi h allows !or better integration o! Selenium in e*isting unit test !ramewor$s. #o ma$e writing tests easier, Selenium proje t urrently provides lient drivers !or 5H5, 5ython, 0uby, .8-#, 5erl and Java. #he Java driver an also be used with JavaS ript +via the 0hino engine.. " new instan e o! selenium 04 server is needed to laun h html test ase - whi h means that the port should be di!!erent !or ea h parallel run.However, !or Java95H5 test ase only one Selenium 04 instan e needs to be running ontinuously.
Selenium 0emote 4ontrol was a re!a toring o! Dri#en Selenium or Selenium $ designed by 5aul Hammant, redited with Jason as o- reator o! Selenium. #he original version dire tly laun hed a pro ess !or the browser in 3uestion, !rom the test language o! Java, .8et, 5ython or 0uby. #he wire proto ol + on!usingly alled :Selenese: in its day. was reimplemented in ea h language port. "!ter the re!a tor by ,an /abuli h, and 8elson Sproul +with help !rom 5at ;ightbody. there was an intermediate daemon pro ess between the driving test s ript, and the browser. #he bene!its in luded the ability to drive remote browsers, and the redu ed need to port every line o! ode to an in reasingly growing set o! languages. Selenium "emote ontrol ompletely too$ over !rom the Dri#en Selenium ode-line in 2002. #he browser pattern !or :,riven:9:<: and :04: was response9re3uest, whi h subse3uently be ame $nown as 4omet. 7ith the release o! Selenium 2, Selenium 04 has been o!!i ially depre ated in !avor o! Selenium 7eb,river. Selenium We%Dri#er Selenium 7eb,river is the su essor to Selenium 04. Selenium 7eb,river a epts ommands +sent in Selenese, or via a 4lient "5I. and sends them to a browser. #his is implemented through a browserspe i!i %ro&ser 'ri#er, whi h sends ommands to a browser, and retrieves results. %ost browser drivers a tually laun h and a ess a browser appli ation +su h as /ire!o* or Internet -*plorer.= there is also an Html >nit browser driver, whi h simulates a browser using Html>nit. >nli$e in Selenium ?, where the Selenium 04 server was ne essary to run tests, Selenium 7eb,river does not need a spe ial server to e*e ute tests. Instead, the 7eb,river dire tly starts a browser instan e and ontrols it. However, Selenium (rid an be used with 7eb,river to e*e ute tests on remote systems +see below.. "s o! early 20?2, Simon Stewart +inventor o! 7eb,river., who was then with (oogle and now with /a eboo$, and ,avid <urns o! %o)illa were negotiating with the 7@4 to ma$e 7eb,river an internet standard. In early 20?@, the wor$ing dra!t was released.&@' "s su h, Selenium-7ebdriver +Selenium 2.0. aims to be the re!eren e implementation o! the 7eb,river standard in various programming languages. 4urrently Selenium-7eb,river is !ully implemented and supported in 5ython, 0uby, Java, and 46. In pra ti e, this means that the Selenium 2.0 "5I has signi!i antly !ewer alls than does the Selenium ?.0 "5I. 7here Selenium ?.0 attempted to provide a ri h inter!a e !or many di!!erent browser operations, Selenium 2.0 aims to provide a basi set o! building blo $s !rom whi h developers an reate their own ,omain Spe i!i ;anguage. Ane su h ,S; already e*istsB the 7atir proje t in the 0uby language has a ri h history o! good design. 7atir-webdriver implements the 7atir "5I as a wrapper !or Selenium-7ebdriver in 0uby. 7atirwebdriver is reated entirely automati ally, based on the 7eb,river spe i!i ation and the H#%; spe i!i ation. Selenium (ri' Selenium (rid is a server that allows tests to use web browser instan es running on remote ma hines. 7ith Selenium (rid, one server a ts as the hu%. #ests onta t the hub to obtain a ess to browser instan es. #he hub has a list o! servers that provide a ess to browser instan es +We%Dri#er no'es., and lets tests use these instan es. Selenium (rid allows running tests in parallel on multiple ma hines, and to manage di!!erent browser versions and browser on!igurations entrally +instead o! in ea h individual test.. #he 5erson who part o! the team reated this selenium #ool, started his own ompany and he !ound new testing tool alled S"HI. In!ormation <y,
0omeo C,art