Automated testing for responsive design on multi-screen devices using Galen Framework

iPhone 3g, iPhone 4s, iPhone 5s, Samsung Galaxy, Samsung Galaxy Note, IE, Chrome, Firefox etc... Can you automate layout testing for these with one test?
At eBay we had to refine our strategy for responsive design implementation. As part of that we wanted to build a stable automated test set that would cover layout testing on multiple screen resolutions. Now whenever there is a small change to a CSS that breaks the design on some specific resolutions - we notice it right away. Do you also have to test your website on different devices? Would you like to automate that and save time? It's easy as 1, 2, 3: write your Selenium test (with a bit of magic of Galen), include it in your continuous integration environment (e.g. Jenkins), get feedback with detailed reports.
In this presentation we would like to show you how to build a stable solution for testing responsive layout with an open sourced tool Galen Framework. We'll introduce you to Test Driven Development for Responsive Design. We'll show you how to execute tests in Selenium Grid to cover the browser compatibility testing and how we adapted the responsive layout testing at eBay.

 
15 favorite thumb_down thumb_up 5 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

  • Introduction
  • Writing page layout specification using Galen Specs
  • Demonstration
  • Galen Javascript API
  • Building your own framework on top of Galen
  • Running in Selenium Grid
  • How we at eBay adopted Galen into our CI environment

Learning Outcome

  • Automating tests for responsive layout
  • Layout testing for cross-browser compatibility
  • Building reliable functional test automation for Selenium using Javascript and Page Objects model

Target Audience

Frontend Developers, QA Engineers, Web Designers

schedule Submitted 3 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Naga
    By Naga  ~  2 years ago
    reply Reply

    Hi,

    I would like to attend this conference..where it is happening.. I have located in London. 

     

    Is it online conference ? or are you conducting at any place ?

     

    Thanks

    Naga

     

    • Ivan Shubin
      By Ivan Shubin  ~  2 years ago
      reply Reply

      Hi,

      This one was just a request for Selenium Conference 2014 but unfourtunately I couldn't make it that time. At the moment I am not going to any conferences. I am located in Amsterdam and only giving presentations and workshops here at this moment. Are you interested in Galen Framework? Currently I am working on some learning material for it so if you are interested you can subscribe for it

       

      Kind regards,

      Ivan

      • Naga
        By Naga  ~  2 years ago
        reply Reply

        Hi Yes  I am interested should I subscribe to this post ? Can you give any contact email. 

        Thanks

        ..

        • Ivan Shubin
          By Ivan Shubin  ~  2 years ago
          reply Reply

          Hi, 

          All Galen Framework updates and articles I normally post to Facebook, Twitter and also send emails to the subscribed.

          Facebook: https://www.facebook.com/galenframework

          Twitter: @galenframework https://twitter.com/galenframework

          Subscribe form: http://galenframework.com/subscribe/

           

          Kind regards,

          Ivan

          • Naga
            By Naga  ~  2 years ago
            reply Reply

             

             

             

            Thanks Ivan

            Naga


  • Anand Bagmar
    Anand Bagmar
    schedule 3 years ago
    Sold Out!
    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.

  • Liked derrick
    keyboard_arrow_down

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

    derrick
    derrick
    schedule 3 years ago
    Sold Out!
    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.

  • Liked Igor Khrol
    keyboard_arrow_down

    Increase Selenium tests stability via JavaScript

    Igor Khrol
    Igor Khrol
    schedule 3 years ago
    Sold Out!
    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.

  • Liked dima kovalenko
    keyboard_arrow_down

    Scaling and managing Selenium Grid

    dima kovalenko
    dima kovalenko
    schedule 3 years ago
    Sold Out!
    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. 

  • Liked Oren Rubin
    keyboard_arrow_down

    Page Objects Done Right

    Oren Rubin
    Oren Rubin
    schedule 3 years ago
    Sold Out!
    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".

  • Liked Naresh Jain
    keyboard_arrow_down

    Selenium DeTox for Achieving the Right Testing Pyramid

    Naresh Jain
    Naresh Jain
    schedule 3 years ago
    Sold Out!
    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.

  • Liked Syed Khaja Habeebuddin
    keyboard_arrow_down

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

    Syed Khaja Habeebuddin
    Syed Khaja Habeebuddin
    schedule 2 years ago
    Sold Out!
    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.

  • Liked Prasanna Kanagasabai
    keyboard_arrow_down

    Testing "Injection" Attacks with Selenium

    Prasanna Kanagasabai
    Prasanna Kanagasabai
    Ketan Soni
    Ketan Soni
    schedule 2 years ago
    Sold Out!
    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 

  • Liked Sreedevi Vedula
    keyboard_arrow_down

    WebDriver and Cucumber in the JavaScript Land!

    Sreedevi Vedula
    Sreedevi Vedula
    Ramalingam S
    Ramalingam S
    schedule 3 years ago
    Sold Out!
    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.

  • Liked Artem
    keyboard_arrow_down

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

    Artem
    Artem
    schedule 3 years ago
    Sold Out!
    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.

  • Liked Naresha K
    keyboard_arrow_down

    Better Selenium Tests with Geb

    Naresha K
    Naresha K
    schedule 3 years ago
    Sold Out!
    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.

  • Liked Sushant Choudhary
    keyboard_arrow_down

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

    Sushant Choudhary
    Sushant Choudhary
    schedule 3 years ago
    Sold Out!
    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.

  • Liked Jim Evans
    keyboard_arrow_down

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

    Jim Evans
    Jim Evans
    schedule 3 years ago
    Sold Out!
    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.

  • Liked Ashish Joshi
    keyboard_arrow_down

    Stuck with Windows Dialog? Do it using Selenium Standalone Server and Java code, (Automation of Windows dialog (File Download, File Upload) )

    Ashish Joshi
    Ashish Joshi
    schedule 2 years ago
    Sold Out!
    20 mins
    Lightning Talk
    Intermediate

    How do you automate windows dialogs using Selenium?

    Following 3 ways are commonly used to deal with Windows Dialogs: (Download, Upload Dialogs) 

    1) Autoit : Need to have autoit framework installed (Additional tool installation require)
    2) Robot Class in java: Not reliable
    3) Java code using HttpRequest (Does not always work, requires href attribute)

    Instead of above options, I found that we can simply use Selenium Server Standalone jar to work with Dialogs using simple java code.

    For any other Advanced and complex scenarios,

    we can use .Net framework to handle the dialogs or any windows based application.I have developed a Code (using .net framework) using which we can do Automation of Windows Components e.g. calulator, Notepad.

  • Liked Justin Ison
    keyboard_arrow_down

    Using Appium and Selenium to run cross-platform (iOS, Android, Web) integration tests in parallel

    Justin Ison
    Justin Ison
    schedule 3 years ago
    Sold Out!
    30 mins
    Demonstration
    Intermediate

    At 6Wunderkinder, the maker of the Wunderlist app, we have customers whom use our app on many different platforms. It's imperative that our client apps each work perfectly together, and with our server in complete harmony. When unit and functional tests aren't enough, full end-to-end integration tests are needed so we've harnessed the awesome power of Selenium and Appium to accomplish this.

  • Liked Santiago S Ordoñez
    keyboard_arrow_down

    Enter JS Unit testing: Cross Browser, reliable, fast and developer friendly

    Santiago S Ordoñez
    Santiago S Ordoñez
    schedule 3 years ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Ever been frustrated by slow, unreliable Selenium tests that won't work in all browsers? Chances are you're doing it wrong.

    Selenium is an excellent tool, but as all tools, should only be used for the right purpose.

    In this talk I want to walk the audience through current approaches, frameworks, tools and the advantages or using Javascript Unit Tests to get extensive client-side coverage, reliable and millisecond-speed results.

    Leverage client-side unit testing as a complement to a more focussed and stable set of functional Selenium tests. Use the power of Sauce Labs' Javascript API to run these across all browsers with very little effort.

     

     

  • Liked Bernard Kobos
    keyboard_arrow_down

    Mobile testing done right with Appium

    Bernard Kobos
    Bernard Kobos
    schedule 3 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

    Web and mobile UI testing has never been so simple. All the tools that you need to create a solid maintainable app are at your fingertips. Big and small companies are already using it heavily to provide their users the best possible experience. The new kid on the block is the Appium project, which recently turned into version 1.0. It opens the gates to serious mobile testing automation for which many developers and companies were waiting for.During this talk I will tell you why Appium - a completely free open source project - was created and what are its connotations with Selenium. Importance of mobile testing is not something you can neglect anymore. With a wide range of technologies (such as hybrid, web, native), which can be used to create a mobile user experience, comes a great challenge for automation tools developers.
     
    If you're serious about your mobile software you have to do continuous integration for it.  I'll show how easy it is to set it up and run an example test with only few lines of code.
     
    Furthermore, I'll show you some experimental applications of this technology that is being currently researched and that might shape the near future.

  • Liked Kartihkeyan
    keyboard_arrow_down

    Alien Driven Testing with Arquillian Graphene

    Kartihkeyan
    Kartihkeyan
    schedule 3 years ago
    Sold Out!
    45 mins
    Demonstration
    Intermediate

     Arquillian LogoAutomating a massive application with tons of user stories obviously needs more time and resource as we need to concentrate much on maintainability. Still it’s being a big challenge for QA engineers. This session will discuss how Arquillian Graphene (a dialect of Selenium WebDriver) really helpful for developers to lower the effort needed to build a reliable, robust and maintainable functional test suites in an Alien way!

  • Liked Amit Rawat
    keyboard_arrow_down

    Testing of Responsive Web Applications using Appium and WebDriver API

    Amit Rawat
    Amit Rawat
    Rajeev
    Rajeev
    schedule 3 years ago
    Sold Out!
    60 mins
    Tutorial
    Intermediate

    All the modern web applications uses HTML5 and RWD (Responsive Web Design) to have an optimal viewing experience across a wide range of devices (from mobile phones to desktop computer monitors). Automating these applications and running the scripts on different devices is a bigger challenge.

    How Appium and Selenium WebDriver API can be used to automate these applications and can also address all the challenges like:

    1. Running the Webdriver scripts on iOS Safari and Android Chrome with minimal changes to the scripts.

    2. Working with the Responsive web elements and validating their size and layout on different devices and viewports.

    3. Automating complex gestures like Swipe, Tap, Pull to refresh etc.

    4. Working with HTML5 based geo-locations and simulating the Mobile network bandwidth and latency using Browsermob

     

  • Liked Saptarshi Chatterjee
    keyboard_arrow_down

    Track google search indexing of your website using protractor (Running on selenium server)

    Saptarshi Chatterjee
    Saptarshi Chatterjee
    schedule 3 years ago
    Sold Out!
    20 mins
    Tutorial
    Intermediate

    1) Protractor is an end to end test framework for AngularJS applications built on top of WebDriverJS and runs on selenium server.

    2) Will build a simple app that will search a particular keyword(or key words) in google and check at what position/page a particular website appears for that search .

    3) respective product owner / SEO experts can ran these test periodically to detect any change in search positioning for their targeted keywords.

    4) Test and Application code needn't be in same repo/server . Seamless integration with  SauceLabs.