location_city Bengaluru schedule Sep 5th 11:45 - Jan 1st 12:00 AM place Grand Ball Room 2

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.

 
 

Outline/Structure of the Experience Report

  • Learn what is the Page Object Pattern
  • Understand its challenges (talk + automation framework snippets)
  • Learn about the Business Layer - Page - Object pattern
  • See the benefits of extending the automation framework to use the Business Layer - Page - Object pattern

Learning Outcome

An extended Page Object Pattern that reduced test code duplication and helps focus on business rule validations.

Target Audience

QA, Testers, Automation-focussed Testers, Test Managers, Test Leads

schedule Submitted 6 years ago

Public Feedback


    • Liked Artem
      keyboard_arrow_down

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

      Artem
      Artem
      Test Team Lead
      Yandex
      schedule 6 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 derrick
      keyboard_arrow_down

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

      derrick
      derrick
      Software Engineer
      Purdue University
      schedule 6 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

      Igor Khrol - Increase Selenium tests stability via JavaScript

      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

      dima kovalenko - Scaling and managing Selenium Grid

      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

      Oren Rubin - Page Objects Done Right

      Oren Rubin
      Oren Rubin
      Founder and CEO of Testim
      Testim.io
      schedule 6 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

      Naresh Jain - Selenium DeTox for Achieving the Right Testing Pyramid

      Naresh Jain
      Naresh Jain
      Founder
      Xnsio
      schedule 6 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 Tarun Lalwani
      keyboard_arrow_down

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

      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

    • Liked Syed Khaja Habeebuddin
      keyboard_arrow_down

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

      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

      Prasanna Kanagasabai / Ketan Soni - Testing "Injection" Attacks with Selenium

      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

      Sreedevi Vedula / Ramalingam S - WebDriver and Cucumber in the JavaScript Land!

      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 Jim Evans
      keyboard_arrow_down

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

      Jim Evans
      Jim Evans
      Contributor
      Selenium Project
      schedule 6 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 Shankar Garg
      keyboard_arrow_down

      Shankar Garg - Lets Learn Mobile Automation - Appium

      240 Mins
      Workshop
      Intermediate

      This Mobile Testing workshop provides comprehensive and in-depth training on Mobile Test Automation tool - Appium. The Course starts with What is Appium, What are Appium Concepts, What are pre requisite for Android and iOS, Appium UI - Settings and then how to Create and Run your Test Cases.

      The course covers concepts as well as practical examples, case studies and exercises to better understand the world of Mobile Automation Tool – Appium for Android and iOS both.

      During this workshop you will build a solid foundation for Mobile Test Automation using Appium.

    • Liked Santhosh Kumar
      keyboard_arrow_down

      Santhosh Kumar - Combining human intelligence with seleium technology - Getting best of both the worlds, crowd/out sourced human testing and selenium technology.

      Santhosh Kumar
      Santhosh Kumar
      CEO
      scaleqa
      schedule 6 years ago
      Sold Out!
      45 Mins
      Talk
      Beginner

      What if you can get best of both outsourced/crowd sourced and most advanced selenium technology? There has been lots of improvement in the world of testing from rather independent directions. While selenium community has been doing extremely well at improving the automation technology, there are hundreds of thousands of testers doing testing through crowd sourced testing or outsourced testing.

      What if we can seamlessly combine both selenium technology with the crowd sourced testing. While selenium recorders are good at repeating the mundane tasks, they are terrible at ignoring harmless ui changes, crowd sourced testers can compensate the dumbness of recorders, pdiff can indeed detect the changes what even humans can miss. If we combine these three while advancing selenium technology, ui testing can be taken to the next stage.

      If we can advance selenium recorders and make it a handy tool for testers, we can improve the efficiency and decrease the costs to significant extent.

    • Liked Bhushan
      keyboard_arrow_down

      Bhushan - Empower Selenium to automate non-HTML UI components

      30 Mins
      Demonstration
      Intermediate

      How do you user Selenium to test non-HTML UI components? By integrating Sikuli with Selenium we were able to solve this problem. In this demo, we would like to share our experience in increasing the automation scope to include non-HTML UI components with the help of Sikuli.

      Typically learning new tools to increase automation coverage is a challenge for Selenium users. Especially if those screens or components are not in the scope of Selenium locators (e.g. Non-HTML UI, Native Windows, Desktop Apps, SVG components etc.) Integration with Sikuli makes Selenium automation comprehensive. Sikuli complements Selenium capabilities, and integrates with Selenium seamlessly.

      We have empowered Selenium to identify non-HTML UI by extending Selenium locators (by.xpath, by.CSS) to identify the components with "by.image."

    • Liked L V Srinivasa Darapureddy
      keyboard_arrow_down

      L V Srinivasa Darapureddy - Analytics Driven Testing (ADT) w/ Selenium – Do we really need one more buzzword?

      30 Mins
      Talk
      Intermediate

      We heard enough about Data-driven Testing, Business-driven development, and Test-driven development… The new buzzword in town is going to be ADT. So many tools and frameworks for regression test and cross-browser test automation give you pass/fail type results. However, for you to improve your web application’s software quality over time you need rich Analytics and Actionable Intelligence from your test automation framework or tool.

       In this session, we will show you how rich a number of reports generated within an automation framework or tool can help you compare your software’s performance in tests carried out across different browsers, software versions and at different points in time. 

      For example, you can drill down to a specific step where your test failed and look back to previous test runs to see when was the first time this step failed and if it failed when the same test was run against other browsers or previous versions of your software.

    • Liked Ashish Joshi
      keyboard_arrow_down

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

      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

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

      Justin Ison
      Justin Ison
      Sr. Software Engineer
      Applitools
      schedule 6 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 Vijay Kumar K
      keyboard_arrow_down

      Vijay Kumar K - I18N /L10N testing using Selenium

      20 Mins
      Talk
      Beginner

      Internationalization(I18N), Localization(L10N) testing helps to ensure the application is instinctive, explicable and correct for the people who are accessing from different geographical locations and from various languages.

      We are prenting the session on How selenium helps in Portal content verification, live language translation during chat and mobile language translation.

    • Liked Ivan Shubin
      keyboard_arrow_down

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

      60 Mins
      Demonstration
      Intermediate

      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.

    • Liked Kartihkeyan
      keyboard_arrow_down

      Kartihkeyan - Alien Driven Testing with Arquillian Graphene

      Kartihkeyan
      Kartihkeyan
      MTS
      Owler
      schedule 6 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!