Selenium Conf Day 1

08:30

    Registration - 30 mins

09:00
10:00
10:15

    Coffee/Tea Break - 15 mins

10:30
  • place 2forum Jim Evans

    Embrace and Extend: How the Selenium Project Convinced the World's Largest Closed-Source Company to Participate

    schedule 10:30 AM - 11:30 AM
     
    place Grand Ball Room 1
     
    60 mins
     
    Talk
     
    Beginner
     

    Microsoft. Just the name of the company alone can send some open-source software activists into fits of apoplexy. From the days when executives of the company compared open-source software to "a virus", the company has been seen as incredibly hostile to open-source software. It is surprising how much has changed over the years.

    This is the story of how the Selenium project has managed its relationship with the software company, from the initial, tentative, often contentious and borderline hostile reaching out, to today's open engagement. The story is told through the prism of the Internet Explorer Driver project, with slight digressions to the .NET bindings and other Microsoft technology stacks. The journey is funny, sometimes frustrating, but always entertaining, and there may be a surprise announcement or two.

  • place 0forum derrick

    Design Patterns beyond the Page Object: An investigation into the design patterns used while building page objects.

    schedule 10:30 AM - 11:30 AM
     
    place Grand Ball Room 2
     
    60 mins
     
    Demonstration
     
    Intermediate
     

    In an age where the Page Object Pattern and Page Factory Pattern dominate web testing conversations, there is still a need to understand and apply the design patterns of yesteryear. Ideas from the Facade Pattern, Factory Method Pattern, the Iterator Pattern, the Object Pool Pattern, and the Decorator Pattern all find their way into the Page Objects we build to represent the increasingly complex widgets found on today's websites.

    In this presentation, we take it back to the old school, looking at novel ways to apply classic design patterns, like those developed by the Gang of Four and Code Complete, to new screen scraping problems. We will investigate three common scenarios where using the typical approach to page objects can be inefficient or difficult, including filling in a web form, iterating over data in a list, and traversing iframes to communicate with widgets. We will explore how to improve upon the naive approach to building these page objects through the use of classic design patterns. Finally, we will formalize our findings into new patterns which can be applied to more general scenarios.

    Code examples will be presented in Python and based off of my work building automation tools for hubzero.org, a platform for scientific collaboration.

  • place 4forum Yagnesh Shah

    Designing selenium webdriver scripts in an effective manner to reduce script rework and Reporting Dashboard

    schedule 10:30 AM - 12:00 PM
     
    place Esquire
     
    90 mins
     
    Workshop
     
    Intermediate
     

    Automating a test scenario can be pretty easy once we get a hold of any tool. Designing hundreds of tests and making sure that the script rework involved for each release is at minimum, takes a good level of experience. Collection of such good practices & the architecture for designing all your test scripts will be demonstrated.

    To enable you start with selenium webdriver for your own project. Template which will quickly facilitate you to initiate scripting with some of our additional user defined libraries. Example, read/write to excel sheet and many other. Hands on practice for scripting test scenarios as per the automation architecture to ensure less maintenance of scripts.

    We will also demonstrate how to handle reporting for hundreds of tests on real time basis for each test suite and hence making our stakeholders aware of the test results on real-time. Our code for this reporting dashboard will be available for the testing community on github.

11:45
  • place 2forum David Tolley

    Migrating the herd - How Salesforce is migrating 35,000 Selenium RC tests

    schedule 11:45 AM - 12:30 PM
     
    place Grand Ball Room 1
     
    45 mins
     
    Case Study
     
    Beginner
     

    The Quality Engineering team at Salesforce fell into the same pit that most other technology companies have: Selenium tests were so easy to create that we created thousands upon thousands of them. The difference is our Selenium RC pit is over 35,000 tests deep. This talk is about how we are indentifying what each of our tests are doing, how we can transition tests to a different and faster layer and how we are migrating from Selenium RC to WebDriver across a massive scale.

  • place 4forum Anand Bagmar

    Perils of Page-Object Pattern

    schedule 11:45 AM - 12:30 PM
     
    place Grand Ball Room 2
     
    45 mins
     
    Experience Report
     
    Advanced
     

    Page-Object pattern is very commonly used when implementing Automation frameworks. However, as the scale of the framework grows, there is a limitation on how much reusability really happens. It inherently becomes very difficult to separate the test intent from the business domain.

    I want to talk about this problem, and the solution I have been using - Business Layer - Page - Object pattern, which has helped me keep my code DRY.

12:30

    Lunch Break - 60 mins

01:30
  • place 0forum dima kovalenko

    Scaling and managing Selenium Grid

    schedule 01:30 PM - 02:15 PM
     
    place Grand Ball Room 1
     
    45 mins
     
    Talk
     
    Intermediate
     

    Managing the Selenium Grid can be very difficult, especially as you scale it up.  This session will demonstrate how we were able to scale the Selenium Grid with multiple operating systems, in multiple data centers across many continents. With the use of Selenium Grid Extras, and open source project, we were able to get much better control of individual nodes, manage WebDriver versions and much more. 

  • place 10forum Tarun Lalwani

    Case Study - QTP/UFT to Selenium Migration - 80% reduced execution time

    schedule 01:30 PM - 02:15 PM
     
    place Grand Ball Room 2
     
    45 mins
     
    Case Study
     
    Beginner
     

    QTP/UFT has been one of the leading Test Automation tool in the market. QTP supports a wide variety of technologies and with the recent article from Telerik - "5 hidden costs of Selenium". Is it really worth migrating to Selenium? If you think No, then think again. We recently migrated a client from QTP to Selenium, and the results was a 80% savings in execution time using one single machine. This case study will share the challenges we faced initially and how we managed a framework with high re-usability and execution

  • place forum

    Open Space

    schedule 01:30 PM - 03:00 PM
     
    place Esquire
     
    90 mins
     
    Talk
     
    Beginner
     
02:30
  • place 6forum Artem

    Allure framework - crystal clear reports for your selenium tests [in any language]

    schedule 02:30 PM - 03:00 PM
     
    place Grand Ball Room 1
     
    30 mins
     
    Talk
     
    Beginner
     

    It's pretty cool to have selenium test results clear to everyone on the team. There are lots of frameworks in every language that aim to simplify test writing. But only few can provide sharp presentation of test execution output. Yandex team is working on Allure (https://github.com/allure-framework/allure-core/wiki) - an open-source framework designed to create crystal clear reports. Because of module structure it integrates easily with almost any testing tool, no matter which language you use. In my talk i will describe the basic principles and show how to integrate Allure reporting in your existing projects.

  • place 2forum Mayur

    Clojure for functional testing of Mobile and Web apps

    schedule 02:30 PM - 03:00 PM
     
    place Grand Ball Room 2
     
    30 mins
     
    Demonstration
     
    Intermediate
     

    Writing tests for modern websites is quite tricky. And systems that have device-browser interaction, challenge test engineers even more.

    In this talk I'll show how we use Clojure to solve problems of functional and integration testing for mobile and web applications, at Helpshift.

    We use wrappers and libraries written in Clojure to leverage well known tools such as Calabash for Android, Appium for iOS, and Selenium WebDriver for the web.

    Clojure is a powerful modern Lisp. In this talk, I hope to show how we benefit from many of its features, including fast, interactive REPL oriented development, rich set of data structures, and the power of macros.

03:00

    Coffee/Tea Break - 15 mins

03:15
  • place 2forum Dhimil Gosalia

    Running Selenium tests on a cloud of real mobile devices

    schedule 03:15 PM - 04:15 PM
     
    place Grand Ball Room 1
     
    60 mins
     
    Demonstration
     
    Intermediate
     

    Many challenging aspects need to be considered when running your Selenium test suite on real mobile browsers: choosing the right Selenium library, emulators vs. real devices, 24x7 local device infrastructure availability, unsupported features, pop-ups, etc. Do the benefits outweigh the effort?

    We first talk about how to test effectively on mobile browsers using Selenium. The problems we have faced with mobile emulators, and why we are scrapping them in favour of a real mobile devices cloud of Selenium nodes. Then this is followed by a demo on how to execute your tests on iOS and Android devices. Learn how to set up a real mobile devices cloud from scratch; when we will also discuss how to run health checks for your cloud, and troubleshoot properly.

    Our expertise comes from building a real iOS and Android device cloud for our customers, looking to get accurate results from testing - something to be had only from actual devices and not just emulators.

     

  • place 2forum Prasanna Kanagasabai

    Testing "Injection" Attacks with Selenium

    schedule 03:15 PM - 04:15 PM
     
    place Grand Ball Room 2
     
    60 mins
     
    Demonstration
     
    Intermediate
     

    Business applications are growing at a break neck speed to cater to ever increasing business need. The dream of ever-connected systems and information at fingertips is quickly becoming a fact. This dream has brought out an evolution of online-real time applications with multiple requirements and functionalities. The down side to this security is being forced to take a back seat. Add to this the sheer quantum of code to cover is overwhelming to a manual security tester.

    One of the most common attacks against web applications is injection attack; injection flaw allows a malicious user to send malicious input to an application. The consequences of having injection flaw in your application can range from a user be able to steal all the data from your database to extreme situation like he having a command access to your infrastructure. We in this session want to show the power of automation using selenium. We will demonstrate how we are writing some interesting scripts to automate the testing of injection attacks in web applications. The outcome of automation is that we have been able get a fair code coverage and gives the time to security tester to concentrate on more tests that need his manual expertise say business logic failure or a design failure. 

    Though selenium could be used to automate far larger scope but we choose Injections as a priority for these sessions as injections form a large part of the web application attack landscape. We intend to give you some of the learning’s we had in the past, and some pitfalls we noticed. One could take the same idea and extrapolate to other attacks too.

    Attacks we plan to cover 

    1. SQL Injection 

    2. Command Injection 

    3. XSS 

  • place forum

    Lightning Talks

    schedule 03:15 PM - 04:45 PM
     
    place Esquire
     
    90 mins
     
    Talk
     
    Beginner
     
04:30
  • place 1forum Sushant Choudhary

    How we trained our dragon built on enterprise practices to adopt and fail fast with OSS.

    schedule 04:30 PM - 05:00 PM
     
    place Grand Ball Room 1
     
    30 mins
     
    Talk
     
    Intermediate
     

    Traditionally companies built over enterprise infrastructure and practices have been hesistant to adopt new practices,framework or tools especially one which can change with a single commit on github. So was the case when mobile portfolio of one of the largest airline was developed and tested in an agile way and striving for continous delivery.

    This is a story of remote-enablement and developing a sense of confidence in the drgaon to go open source and base its complete testing infrastructure on OSS.Today their Mobile testing with its own challenges posed by H/W,OS and Design guidelines is under the OSS umbrella with practices like BDD and compliance with test pyramid adopted with a scalable automation framework built on Ruby,Cucumber,Watir Webdriver and Calabash.

  • place 3forum Syed Khaja Habeebuddin

    There is more treasure in Selenium nodes than in all the pirate's loot on Treasure Island.

    schedule 04:30 PM - 05:00 PM
     
    place Grand Ball Room 2
     
    30 mins
     
    Talk
     
    Intermediate
     

    There is so much valuable data that Selenium Nodes writes into log file(s) when tests get executed on them. So much of this data is not mined for actionable intelligence.

    In this session, we will show you how operating system level metrics can be combined with data from Selenium nodes to result in rich actionable intelligence that will tremendously aid in the analysis of test failures, react to test execution flakiness, and to improve your automated test resiliency.

05:15
07:00

    Sauce Labs Reception (with Dinner) - 180 mins

Selenium Conf Day 2

09:00
10:00
10:15

    Coffee/Tea Break - 15 mins

10:30
  • place 1forum Oren Rubin

    Page Objects Done Right

    schedule 10:30 AM - 11:30 AM
     
    place Grand Ball Room 1
     
    60 mins
     
    Talk
     
    Intermediate
     

    Slides: http://www.slideshare.net/orenrubin/page-objects-presentation-selenium-conference-2014-38767492

    In this talk I will walk the audience step by step at building tests using the Page Object Design Pattern, making several attempts until we reach the current recommendation. We'll see the dos, don'ts, and common pitfalls.

    In this presentation I'll also cover the Page-Factory Design Pattern, and best practices for dealing with asynchronously and how to remove the deadly "random sleeps".

  • place 3forum Naresha K

    Better Selenium Tests with Geb

    schedule 10:30 AM - 11:30 AM
     
    place Grand Ball Room 2
     
    60 mins
     
    Tutorial
     
    Beginner
     

    Selenium tests can quickly grow in size and could become difficult to maintain, unless adhered to DRY principles to the extreme. Geb is built on top of Selenium WebDriver, which brings in the expressive power of groovy to WebDriver API. Geb can be used for all browser automation tasks that can be achieved with WebDriver. This talk will show how Geb can help us to write concise tests that are highly readable. 

    Prior knowledge of Groovy is NOT essential to get started with Geb, however would be helpful in advanced use cases.

  • place 8forum Sreedevi Vedula

    WebDriver and Cucumber in the JavaScript Land!

    schedule 10:30 AM - 12:00 PM
     
    place Esquire
     
    90 mins
     
    Demonstration
     
    Intermediate
     

    WebDriverJS and Cucumber.js are new entrants in the WebDriver eco-system and are gaining popularity by the day! These JavaScript ports for WebDriver and Cucumber enable us to test the JavaScript UI apps built using frameworks like Angular JS, Ember.JS with great ease.

    The UI tests can be written in JavaScript, thereby using the same technical stack of the application and the tests seamlessly integrate with the code for continuous integration and continuous delivery.

    The session is a demonstration of test framework using Cucumber.js and WebDriverJS for testing an open-source Angular JS application.

11:45
  • place 2forum Naresh Jain

    Selenium DeTox for Achieving the Right Testing Pyramid

    schedule 11:45 AM - 12:30 PM
     
    place Grand Ball Room 1
     
    45 mins
     
    Case Study
     
    Intermediate
     

    Our project was a classic example of Selenium gone wild! As our team embraced the test automation journey, we went crazy and implemented tons of Selenium tests, one for every permutation possible. Soon we realized our feedback cycles were delayed. Our builds were taking hours instead of minutes. And we had a set of complex, fragile tests, which resulted in a lot of false-negative scenarios and finger pointing.

    At this point, our team had realized that this is not the path forward. We decided to seriously look at our Selenium tests. We pretty much moved 80% of our Se tests to lower-layers (non-GUI based) tests. And now we have the right testing pyramid on our project.

    Join us, as we explain our journey (strategy, techniques, tools, mindset-change and approaches we took) through this transition.

  • place 5forum Puneet Kala

    Selenium and Joomla Open Source

    schedule 11:45 AM - 12:30 PM
     
    place Grand Ball Room 2
     
    45 mins
     
    Experience Report
     
    Beginner
     

    In an era of highly interactive and responsive software processes where many organizations are using some form of methodology, test automation is frequently becoming a requirement for software projects. 

    Many organizations are using Selenium-IDE and RC for testing softwares, In this talk we are going to talk about How we can use Selenium-webdriver to setup a Testing Suite for an application. 

    We at Joomla!, have our testing suite built in Selenium-Webdriver along with PHPUnit and are using a Page-Object pattern to increase the code maintainability. We are going to talk about how one can setup a test suite and  built our own reporting tool with Graphical representation of test results using the logs.

12:30

    Lunch Break - 60 mins

01:30
  • place 0forum Isaac Murchie

    Selenium in the palm of your hand: Appium and automated mobile testing

    schedule 01:30 PM - 02:15 PM
     
    place Grand Ball Room 1
     
    45 mins
     
    Talk
     
    Intermediate
     

    The mobile world is growing, and it has never been easier to test applications—native, web, or hybrid—using Appium, a free, open-source implementation of the Selenium protocol for automating mobile devices. I will show how Appium, which is in active development and recently shipped version 1.0, allows developers and testers to harness all the power of the native testing frameworks provided by the mobile device manufacturers, but within the context familiar to Selenium users. 

    Further, Appium provides a very good opportunity for looking at the challenges for a technology designed to automate web browsers as it moves into a new realm. I will discuss how functionality was repurposed for this new context, as well as the ways in which the protocol was extended and made more flexible in light of the the expanded use case.

    As a case study in extended functionality, I will discuss the gesture API, which allows a standardized way to automate the sorts of advanced mutli-finger gestures used on modern mobile devices.

  • place 1forum Andreas Tolfsen

    Testing the Web Platform with WebDriver

    schedule 01:30 PM - 02:15 PM
     
    place Grand Ball Room 2
     
    45 mins
     
    Talk
     
    Intermediate
     

    As the WWW morphed from a system of interlinked hypertext documents to an advanced application delivery platform, the requirements on the underlining technologies and the browsers implementing them changed dramatically.

    To ensure correctness in behaviour and that application code works across multiple browsers, standards come equipped with test suites.  But interoperability can only be guaranteed by a more thorough testing effort.  The W3C has launched a new project called Test the Web Forward to bridge this gap, and WebDriver sits at its centrepiece.

    The talk will focus on the infrastructure that is being created to run these tests, and exemplify how the WebDriver library can be utilized in a complex and untraditional test running framework.  It will also give a glance into the ongoing W3C WebDriver specification work, and where we are headed.

  • place forum

    Open Space

    schedule 01:30 PM - 03:00 PM
     
    place Esquire
     
    90 mins
     
    Talk
     
    Beginner
     
02:30
  • place 2forum Igor Khrol

    Increase Selenium tests stability via JavaScript

    schedule 02:30 PM - 03:00 PM
     
    place Grand Ball Room 1
     
    30 mins
     
    Talk
     
    Intermediate
     

    UI-tests are not really stable. Some sync point might be missed and tests will be red from time to time without any obvious reason. Or accidentally some focus might go away and button will not be clicked. These and other cases make automated testing results unpredictable and these results are not trusted. 

    In my speech I want to share the experience how to reach reliable and reproducible results with Selenium tests. In order to reach it we should sacrifice to 100% end user emulation. The presentation is based on the real project where this idea was successful. Also more common recommendations will be given publicity.

  • place 0forum Dave Haeffner

    How To Find Information On Your Own

    schedule 02:30 PM - 03:00 PM
     
    place Grand Ball Room 2
     
    30 mins
     
    Talk
     
    Intermediate
     

    Whether you're just starting out, or are well on your way, there are more resources to dig through than you have time or know what to do with. With blogs, videos, documentation, forums, meetups, conferences, books, and mailing lists, the signal to noise ratio is all out of whack. In 30 minutes, I'll be your tour guide as I walk you through the information landscape of Selenium and show you which resources are worthwhile for your context and how to find them.

03:00

    Coffee/Tea Break - 15 mins

03:15
  • place 2forum Ankita Gupta

    Hacker-proof your app using Functional Tests

    schedule 03:15 PM - 03:45 PM
     
    place Grand Ball Room 1
     
    30 mins
     
    Talk
     
    Intermediate
     
    Many Functional Testing/QA Engineers don't have insights into Security vulnerabilities. Usually an enterprise has a separate security testing team solely for that task and functional testers have to rely on them for the security audit.
     
    Security is an important part of Testing but not every build of the application is tested for security issues. All Functional testing teams have a load of automated test cases which are run on every build of the application but they don't check for security flaws.
     
    In this talk we would be showing how you can use your existing test cases and automatically perform security testing on your web application. This is made possible using IronWASP, an open source security scanner and its companion libraries.
     
    If you are a software tester or developer even without any security expertise this talk will help you secure your web application better using your existing functional test cases.
  • place 2forum Vinay Voruganti

    There are three things that matter in cross-browser test automation- locator, locator, locator – But how do you find the right one?

    schedule 03:15 PM - 03:45 PM
     
    place Grand Ball Room 2
     
    30 mins
     
    Talk
     
    Intermediate
     

    Many a time the same locator in your automated script does not work well at all in all browsers/versions and operating systems or works but with flaky results in some browsers/versions. And then numerous hours are spent using a trial and error approach to either continue the hunt for a different locator that works across the board or build “if-browser/version-use-this-locator” kind of logic in your test scripts. 

    In this session, we will show you an approach that will help you eliminate so much pain and cost from your cross browser test automation. 

  • place forum

    Lightning Talks

    schedule 03:15 PM - 03:45 PM
     
    place Esquire
     
    30 mins
     
    Talk
     
    Beginner
     
04:00
05:00

    Closing Talk - 30 mins