Appreciations • To Shiiba-san and everybody in Rakuten involved in this great conference, for inviting me • To Shinagawa atendees, for joining this session. • To Singapore atendees, for joining this session lah.
Self introduction - Face1 • Ryuji Tamagawa • FB: Ryuji Tamagawa • Twitter: @tamagawa_ryuji • Working for Sky. Co., Ltd. • SKYSEA Client View development team • Doing from architecture design to ﬁeld maintenance - love them !
Self introduction - Face 2
Why translate and talk here ? • for learning great technologies ( by having the deadline ) • for having interaction with great people • for making my products better (if I could t invent something great, I can incorporate them) • for making engineers happier by sharing great ideas !
Agenda • Why introducing Selenium 2 WebDriver? • What is Selenium 2 WebDriver? • Selenium 2 WebDriver demonstration • Not just for testing - A use case in our team
Why Introducing Selenium 2 WebDriver?
Because learning it could be confusing • Design of Selenium 1 and 2 are completely diﬀerent • The change has happened within a short period of time • Information about both versions are on the internet • Deﬁnitely you should go for 2 , but some may want to use Selenium IDE, which is based on 1 s technology
What is Selenium 2 WebDriver?
What is Selenium 2 • Today s major browsers have automation Web Apps to test interface • Selenium 2 WebDrivers are libraries in many languages which make use of the interface Browsers（Firefox, IE, Chrome…） WebDriver • With WebDrivers, you can drive the browsers （Java, Python , Ruby…） and get information of the pages loaded Your test code • Selenium 2 is the collection of tools including Testing Frameworks (xUnit or others) the WebDrivers and the selenium server
Remote WebDriver and Selenium Grid Web Apps to test Firefox Chrome IE Firefox Chrome Safari • Selenium Grid distributes test session Grid node (Windows) Grid node (Mac OS X) to nodes which satisﬁes requested capabilities (ex : type Grid Hub of browser) RemoteWebDriver RemoteWebDriver RemoteWebDriver Test code Test code Test code
Demonstration (using iPython notebook)
Installation is easy • In Python, ‘sudo pip install selenium’ and done! • In Java, just download the jar
Not just for testing - A use case in our team
Adding fulltext search to existing BTS Ticket repository, slow to search • Redmine s search is not fast • FESS - opensource enterprise She can search tickets on FESS and access search server, based on Apache directly from their to Redmine tickets. Solr Firefox • With Selenium, retrieve recently HTML updated tickets and save them Files as HTML ﬁles script that use WebDriver • Selenium works as a scraper get updated tickets and save them as HTML ﬁles.
Lessons learned from our case • Selenium 2 WebDriver can be used as a web automation tool as well. It works as glue between systems in this case. • Without tweaking existing web systems at all, you can read from them and submit information to them • Doesn t work fast, but may helpful as quick & dirty tools in your working environment