Selenium Conf 2016 Day 1
Fri, Jun 24
Timezone: Asia/Kolkata (IST)
08:30
Registration - 30 mins
09:00
-
keyboard_arrow_down
Simon Stewart - Selenium: State of the Union
09:45
Welcome Note - 30 mins
10:15
Coffee/Tea Break - 15 mins
10:30
-
keyboard_arrow_down
Dan Cuellar - Advanced Appium
Over the last few years, Appium has become the choice automation tool for mobile application UI testing. Most people are familiar with the basics of Appium, but did you know that you Appium can identify elements using image recognition? Did you know you it's also possible to automate Windows phone and Desktop apps with Appium? Have you ever seen Appium run the same test on multiple operating systems, or seen an Appium test run using several devices at once?
The talk will cover advanced Appium topics such as these along with best practices to ensure you get the most out of Appium.
-
keyboard_arrow_down
Dave Haeffner - Practical Tips & Tricks for Selenium
Have unanswered Selenium questions? Want to learn how to use Selenium like a Pro? Join Dave Haeffner - author of The Selenium Guidebook - as he steps through the best and most useful tips & tricks from his weekly Selenium tip newsletter (Elemental Selenium).
Topics covered include:
- Headless test execution
- Testing HTTP status codes
- Blacklisting third-party content
- Load testing
- Broken image checking
- Testing "forgot password"
- Working with A/B testing
- File downloads
- Additional debugging output
- Visual testing & cross-browser testing
All examples will be demonstrated in Java.
-
keyboard_arrow_down
Irfan Ahmad - Testing as a Container : Using Docker with selenium and friends to ship fast
We see two upcoming trends in the world of software delivery.
1.Docker is becoming a standard for managing infrastructure using containers.
2.Testing code and its infrastructure starts to grow at scale with more complexity, dependencies and technology diversity.
A container is an entire portable runtime environment: an application, plus all its dependencies, libraries and other binaries, and configuration files needed to run it, bundled into one package. By containerizing the application platform and its dependencies ,all differences in OS distributions and underlying infrastructure are abstracted away which makes it easy to share and execute anywhere.
At this talk we will learn how to leverage the container technology to solve the challenges of growing testing infrastructure and continuous delivery with key focus on below items.
- Basics of the containers technology and specifically it’s application on the test automation.
- How Docker can reduce the time of test execution, ease the setup of clean test environments and drastically reduce the differences between the development, acceptance and production environments leading to the higher quality of the released software.
- Examples to containerize entire testing stack together consisting of major automation tools (selenium, appium, phantomjs), performance tools (jmeter,gatling) with cucumber.
- Integrating and managing testing container with other application containers to achieve easily manageable continuous delivery pipeline.
- Best practices and patterns for docker success.
-
keyboard_arrow_down
Julian Harty - Selenium 3 Bug Bash
11:30
-
keyboard_arrow_down
Julian Harty - [More] Reliable and Trustworthy Automated GUI Tests
One of the perennial problems with automated tests is the amount of work many need to keep them working as the underlying application changes. This is particularly true of poorly designed and/or poorly implemented automated tests which can be brittle and prone to break when virtually anything changes in the system under test, the test conditions, or the environment.
This session will help you learn or refresh your understanding of how automated GUI tests work, and then identify and discover various approaches to improving the quality of these tests, their interface(s) with the system being tested, and how to design and implement alternatives to existing 'flaky' tests. The concepts apply to both web and mobile app testing.
The session will be based on my experiences of working with people who write and maintain automated tests, and on my own attempts to write trustworthy tests.
-
keyboard_arrow_down
Luke Inman-Semerau - Help me help you - contribute to the Selenium project
Open source contributions come in different forms, bug reports, patches, answering forum questions, updating documentation.
I want to give some guidance on how you can help me, help "you" (well, everyone really) with selenium.
-
keyboard_arrow_down
Vivek upreti / Naresh Jain - Cross-platform, Multi-device Instant Communication Testing in Parallel using Appium and Docker
Today over 100 million users share over 40 billion messages per month on Hike. Its not just simple 1:1 chat messages. Users can do a VoIP call or share rich multi-media content in 8 different languages in group chats with hundreds of members. User can transfer large (upto 100 MB) file using Wifi-Direct .i.e. device to device file transfer without using Internet. And many more features. How do you ensure that you can roll out a release every month without breaking any of these features?
With such a large user based, which is very sensitive to frequent upgrades due to data consumption cost, rigorously testing the app becomes extremely critical.
When we started our automation journey in 2014, we were looking for a device lab which can simplify our testing effort. However we gave up and ended up building our own setup. The reason being, we require multiple devices that can communicate with each other for a single test. And we have 6000+ such tests, which we want to run in parallel. While many device labs allow you to run tests in parallel, they don't allow the devices to communicate with each other. Also its not possible to run the same test across multiple devices. Imagine testing a group-chat flow with photo sharing or imagine the device to device file transfer using hotspot. How would you test these features?
If this interests you, join us and we'll share our learning trying to achieve this at Hike.
12:30
Lunch - 60 mins
13:30
-
keyboard_arrow_down
Marcus Merrell - Automated Analytics Testing with Open Source Tools
Analytics are an increasingly important capability of any large web site or application. When a user selects an option or clicks a button, dozens—if not hundreds—of behavior-defining “beacons” fire off into a black box of “big data” to be correlated with the usage patterns of thousands of other users. In the end, all these little data points form a constellation of information your organization will use to determine its course. But what if it doesn’t work? A misconfigured site option or an errant variable might seem insignificant, but if 10,000 users are firing 10,000 incorrect values concerning their click patterns, it suddenly becomes a problem for the QA department―a department which is often left out of conversations involving analytics.
Join Marcus Merrell to learn how analytics work, how to get involved early, and how to integrate analytics testing into the normal QA process, using Selenium and other open source tools, to prevent those misfires from slipping through.
-
keyboard_arrow_down
Lightning Talks
-
keyboard_arrow_down
Dakshinamurthy Karra - Java Swing, Java FX application testing using Selenium WebDriver
Marathon is a open source test automation suite for Java Swing and Java/FX applications. Marathon provides Selenium/WebDriver bindings for executing test scripts agains Java application.
In this workshop we explore steps by which you can set up an environment for testing a Java/Swing application.
-
keyboard_arrow_down
Julian Harty - Selenium 3 Bug Bash
14:30
-
keyboard_arrow_down
Vinay Babu - Web Scrapping with Selenium and Data Analysis using IPython Notebook
Data Analysis is one of the upcoming field and as many of the data scientists says that the most of time they spend for analysis is on Data cleaning, So, In this short session we will see how one can pull the data from the web using Selenium Webdriver and will use this data further for the Data Analysis, The entire exercise will be executed on a IPython Notebook, which is a tool used to execute & save your code and perform data analysis using python data analysis libraries, it also provides a platform to massage the data and visualize it in the form of graphs and tables.
This entire exercise would be helpful for anyone who wants to understand how data can be pulled with the help of Selenium Webdriver from a website and organized using python libraries for the data analysis. During this session we would be using an open source data for analysis and see how we can draw conclusions using this data.
-
keyboard_arrow_down
Rajini Padmanaban - It Is All About Prioritization, At The End Of The Day
Whether it is Dallin Oaks quote that reads ““Desires dictate our priorities, priorities shape our choices, and choices determine our actions.” Or Mahatma Gandhi’s quote that goes “Action expresses priorities”, the message I want to bring to the audience is as simple as “It is all about prioritization at the end of the day”. While this applies to all of us in all disciplines, it is even more relevant for us as testers in today’s world of increasing task scope and complexity. Whether it be manual or automated testing, what test matrices to use, what test data to incorporate, what defects we want to pick to defend, what tests to automate, what tool to leverage for automation, the overall success of a quality effort, is based on smart choices that a tester makes. Smart choices are not possible without educated prioritization strategies. For example, if I were an attendee in the Selenium conference even deciding which track session to attend amongst the varied options I have, is a choice driven by an underlying prioritization technique. This proposal is aimed at discussing and presenting core prioritization strategies and mapping them with very specific software testing and test automation examples that the attendees can take back and apply in their day to day practices with immediate effect. One would be amazed to see the varied styles of prioritization that are available – being privy into them and understanding them with examples, will help the attendee choose which style of prioritization works best with their personality and leverage them right away.
-
keyboard_arrow_down
Adolfo Luna - Selenium integrated with IBM Rational Functional Tester
Today, there are so many possibilities to automate our test, Can we use Selenium with others automation tools?
In this session ,I'll explain how we can use Selenium integrated with IBM Rational Functional Tester creating test scripts in a demo.
15:00
Coffee/Tea - 15 mins
15:15
-
keyboard_arrow_down
Oren Rubin - Statistical Element Locator
In this talk we will delve into one the biggest challenges that Test Automation developers face, finding elements i.e. a robust test means finding the same element with high fidelity while the Application Under Test keeps changing.
We will categorise the methods, and show where developer fail, where machines (Record/Playback) fail, and suggest a new way for locating elements, and analyze the skill-set required to overcome those difficulties.
-
keyboard_arrow_down
Seshumadhav Chaturvedula / Sasi Kumar - How Indeed used Selenium to submit job applications!
Everyone knows Selenium is primarily used for Test automation. In fact, the power of Selenium has not been fully put to use, to solve business problems in many other domains like Recruiting, Health care and literally every domain that has not yet caught up with speed of the 'Mobile & Smartphone wave'. This talk is all about how Indeed unleashed the power of Selenium to fulfill its mission to help people get jobs.
The talk has two facets to it. A part of the talk comprises of how Indeed uses Selenium differently to solve a real business problem in Recruiting Domain (that helped jobseekers send millions of job applications to 650 plus employers) followed by a technical overview of the solution.
The second part of the talk will be about Selenium Grid. We try to enlist all the functional & architectural requirements(like No Single point of failure at Hub layer, Auto-scaling, Capacity exhaustion of nodes, Monitoring unhealthy nodes, Strategy to deal with memory leak issues on Grid Nodes, Returning sessions etc.,) that a large scale Selenium Grid or Selenium Grid like setup, should ideally fulfill. We do an analysis of how SeleniumHQ’s out-of-the-box Selenium Grid offering fails to meet some of those needs and how that pushed us to design a new Selenium Grid architecture (based on RemoteWebDriver protocol). We give an technical overview of our new Selenium Grid’s Architecture, how we improved it over months. the lessons we learnt from 5M+ Sessions our Selenium Grid created, our efforts to reduce the failure rates, and the unsolved problems in our 1.5 years of journey!
We believe, our talk will be of an immense value to all Selenium Users in seeing opportunities to solve business problems in various domains using Selenium; And we hope our learnings in re-architecting Selenium Grid will be a great value to those who are planning to setup Selenium Grid in-house.
-
keyboard_arrow_down
Anand Bagmar - Test Data - Food for your Test Automation Framework!
Building a Test Automation Framework is easy - there are so many resources / guides / blogs / etc. available to help you get started and help solve the issues you get along the journey.
Teams already building 1000s of tests of various types - UI, web service-based, integration, unit, etc. is a proof of that.
However, building a "good" Test Automation Framework is not very easy. There are a lot of principles and practices you need to use, in the right context, with a good set of skills required to make the Test Automation Framework maintainable, scalable and reusable.
In this talk, we will focus on one of the critical aspects and patterns in building the Test Automation framework - Test Data!
We will look at different data patterns as options and techniques how to create, manage, use, reuse Test Data in a way to keep the tests running in an reliable and deterministic way. We will also discuss what questions to ask, what things to think about in selecting your approach for Test Data!
This discussion will be applicable for any type of Test Automation (web / mobile / desktop), but, we will focus primarily on UI automation frameworks, ex. using Selenium.
-
keyboard_arrow_down
Julian Harty - Selenium 3 Bug Bash
16:15
-
keyboard_arrow_down
Sargis Sargsyan - Better Page Object Handling with Loadable Component Pattern
One of the painful problems in Selenium automated testing is determining whether a HTML page has been loaded. This is especially the case when web application uses a JS heavy framework such as the popular AngularJS.
During this talk we will discuss how to handle Selenium Page Object pattern better with Loadable Component.
The Loadable Component helps test case developers make sure that the page or a component of the page is loaded successfully. I will share my experience about the concept of the Loadable Component and Page Object patterns.
-
keyboard_arrow_down
Ori Bendet - Tales from the Dark Side: The Growth, Implementation and Influence of Selenium inside Hewlett Packard Enterprise
I know what you’re thinking: the creators of WinRunner, QTP/UFT are now embracing Selenium?
Ten years after Selenium came into existence as an open source alternative to Mercury Interactive, the perception and relationship between QTP and Selenium has morphed from competition to collaboration with complementary test automation frameworks.
Join Ori Bendet, HPE Inbound Product Manager for Functional Testing to discuss how HPE’s R&D uses Selenium and other open source tools. Understand the new roles and responsibilities of dev/test @HPE and how they fit into current team structure. Discover their lessons learned about how Selenium and open source has contributed to the success and maturity of HPE's own quality assurance and testing tools across the entire portfolio.
-
keyboard_arrow_down
Pranathi Birudugadda - Automating the Responsive Web Design Testing
Responsive web design (RWD) is an approach to web design aimed at crafting sites to provide an optimal viewing and interaction experience like easy reading and navigation with a minimum of resizing, panning, and scrolling across a wide range of devices (from desktop computer monitors to mobile phones).
Responsive web design is becoming more important as the amount of mobile traffic now accounts for more than half of total internet traffic. This trend is so prevalent that Google has begun to boost the ratings of sites that are mobile friendly if the search was made from a mobile device. This has the net effect of penalizing sites that are not mobile friendly.
The responsive web design responds to the needs of the users and the devices they’re using. The layout changes based on the size and capabilities of the device and provides the enhanced user-experience by re-structuring the contents as per the end-user devices. With plethora devices releasing every day, this has gained significance in the web designing and along with it came the testing challenges. In this talk, we are going to discuss the challenges in testing RWD websites and how to overcome those by using the tools available online.
I have chosen Galen tool to demonstrate the automation of Responsive web design testing. Come and experience the talk to be enlightened about this new found tool :)
Why Galen?
Galen is an open source framework built for responsive websites. It provides the feasibility to test the various pages on screen sizes and browsers. The test and spec files can be written in plain English which makes it easier for the business people to understand and contribute. This can also be used as a guide for the UI developers where they build the layout based on the spec files agreed by the business.
To know more about Galen, visit Galen Website
17:15
-
keyboard_arrow_down
Prasad Kalgutkar - Brace yourself from an automation death trap
We all in the voyage to test effectively always think about test automation & let me tell you, its no less crucial & important than production app code. Its a code/framework/architecture built to test your app code and catch some of app defects. This when placed in an eco-system of continuous integration & deployment takes a next level of importance.
I have been fortunate enough to have had my share of failures & eventually learn out of it while automating. In this session, I wish to take my audience through the importance of automation in Agile, the essentials to think of while deciding the tools and also take some tangible take-aways while writing automation code.
The take-aways will be some technical inputs which have immensely helped me to build flexible frameworks for delivery of enterprise products. The aspects this take-aways will touch are on the pressings issues an automation tester face around test data management, code modularization, defining the clarity on responsibilities of different modules/classes written in an automation framework.
This session will be a good dialogue supported with some live demos for better understanding & overall making us think to stay away from the obvious failures.
-
keyboard_arrow_down
Pooja Shah - Can we Have it All! {Selenium for web, mobile and Everything what a Product needs}
Problem Statement
Expected Result: Mobile is taking over the world and wow! my product works awesomely everywhere.
Actual Result: OMG! it breaks on iOS 6 :-(
Holy Jesus! did we also test on firefox version 30.0 on Windows machine ??
Having an application on all major platforms(Desktop Web, Mobile Web, Mobile Native apps etc.) brings a daunting requirement of verifying every single feature before giving a +1 for release and so it becomes essential for the QA folk to test and provide proper feedback as quickly as possible, which immediately takes the complete reliance only on manual testing out of the question and pushes for the need for automated testing with scalable automation framework embracing any product need in the future.
We surely have 5 points to be answered before we think about such solution :
- Do we have a single test code which can test the product everywhere with a simple mechanism to trigger and manage them?
- Where is the plan to reduce Time To market having so many tests running before each code push?
- Do we have 1 click solution to monitor all the test results in one go to assert the state of ThumbsUp for release?
- Is continuos integration in place?
- How can I integrate all of the above 4 points using the same beautiful tool Selenium along with other aligned open-source projects like Appium, Shell and Jenkins?
-
keyboard_arrow_down
Dharmesh Vaya - Hands-on guide to Object Identification
Often it is observed that new-comers jumping to Selenium have mastered the API but are stuck up with Object Identification. It becomes very essential that test automation engineers identify robust mechanisms to identify objects and make their scripts less fragile. This talk/tutorial deals with writing optimized Object locators and having best practices in identifying them.
18:15
-
keyboard_arrow_down
Naresh Jain - Q & A with the Selenium Committee
19:00
Snacks - 30 mins
19:30
Thaalavattam Project - A music jam with 100 instruments - 90 mins
21:00
Reception Dinner Sponsored by Sauce Labs - 90 mins
Selenium Conf 2016 Day 2
Sat, Jun 25
09:00
-
keyboard_arrow_down
Bret Pettichord - Checking as a Service
This talk suggests a reframe in how we understand the business value of automated testing. One shift is to see automation as "checking" rather than "testing". Another is the shift from software delivery to service delivery, including fully embracing DevOps. The resulting approach could be called Checking as a Service or CheckOps, and forces us to rethink traditional automation priorities. In this talk, Bret will explain how change in approach has affected teams he's worked with and how you can use it to improve your ability to deliver valued services.
10:00
Important Annoucements - 15 mins
10:15
Coffee/Tea Break - 15 mins
10:30
-
keyboard_arrow_down
Julian Harty - Understanding UX, and approaches to measuring and testing UX
UX is a widely used, and sometimes abused, term that represents 'User Experience', typically across a population - for instance all the iOS users.
There are various ways to measure UX. For instance, aspects of UX can be measured digitally, for instance using web and/or mobile analytics, or inferred, for instance if an application crashes or is killed by the operating system the UX is unlikely to be positive for the user(s) who were affected. Other aspects of UX may be inferred from what people write about the app or software they're using. However what people write and what they think often differs and may conflict, so we need ways to interpret the feedback to use it appropriately and usefully. And finally for this section, what people say, do, and their facial expressions may provide further clues about their UX.
The quality of UX may significantly affect revenues for some organisations, and therefore finding ways to measure and test UX may be vital for the long terms health of the organisation and those who work for it. Bad UX is Bad Business; and conversely Good UX is Good Business.
This workshop describes the landscape of UX, including ways to measure UX and test aspects of UX. It is based on ongoing research, including interviews with various organisations, and leaders in the testing community in various countries.
-
keyboard_arrow_down
AntonyMarcano - The Trouble with Page Objects – Things you always knew were wrong but couldn’t explain why
PageObjects have some common problems that many people see but not everyone can explain. Over time they can become harder and harder to maintain. In some cases, they become a tangled mess riddled with deep inheritance hierarchies. How can this happen?!
PageObjects provide an easy-to-follow, simple structure that avoids early maintenance issues. But, they break some key OO design rules, making maintenance more difficult over time. This can result in flaky tests. PageObjects were introduced to help test-developers avoid mistaking flaky tests for problems with Selenium. It was a useful first step, so why did we stop there?
In this session you’ll learn about the SOLID design principles that PageObjects disregard. You'll see why this leads to problems. You’ll see how and why PageObjects benefit from refactoring to SOLID design principles. Finally, you’ll meet the Screenplay Pattern; an alternative that can save you the effort.
-
keyboard_arrow_down
Sarvesh Shrivastava - Functional and Security Testing - An amalgamated automation approach
With increasing cyber threats & online attacks, an unavoidable situation for continuous security testing has emerged. Making sure all vulnerabilities are unleashed regularly is highly significant.
The paper hence proposes a solution where automated security testing could be achieved in conjunction with functional testing carried out using selenium API.
It introduces a framework that caters to automated security testing along with functional which could provide an integrated testing elucidation.
The paper, takes in these two premises to offer a solution where functional automation testers can now take on security testing. I propose a framework where automated security testing could be achieved in conjunction with functional testing using existing selenium API scripts.
The framework covers the top vulnerabilities and provides intuitive results that help a non-security tester interpret and act on the output. At the very core of this framework is the open source tool, OWASP ZAP, which is easy to use and integrates well with Selenium automation frameworks.
I bring in hands on project experience having implemented this framework for clients, who have been able to get the value of functional and security testing using the same set of scripts – it is this experience I would like to share with the SeleniumConf2016 audience, to help groom functional testers into security testing, with minimal cost and time, also enabling security testing to be performed every time functional automation is taken up.
-
keyboard_arrow_down
Julian Harty - Selenium 3 Bug Bash
11:30
-
keyboard_arrow_down
Kumar Pratyush / Naresh Jain - Performance Testing a Mobile App Used by 100M Users
Hike is used by 100 Million users and many of our users have cheap smart phone (~ $120 USD) that can install no more than 3 mobile apps.
So the questions is: Should testing of app be limited to its functionality? At Hike, we believe "Performance is Queen!" For our users, if we misuse the critical resources such as Battery, CPU, Network and Memory, its a deal-breaker. Hence pref-testing is very important.
During the initial days of Hike, we were very reactive and only did (manual) perf testing, when our users reported issues.
Now, every Sprint (2 weeks) and every public release (monthly), we run our automated perf tests. We measure our app's performance using several app specific use-cases on 4 key areas:
- CPU,
- Memory,
- Battery and
- Network (data consumption.)
We also benchmark the following scenarios for app latency:
- App launch time upon Force Stop
- App launch time upon Force Kill
- App's busiest screen openning time
- Scrolling latency in different parts of the app
- Contact loading time in Compose screen
We still have a long way to go in terms of our pref-testing journey at Hike. But we feel, we've some key learnings, which would be worth while to share with the community. Join us, for a fast paced perf-testing session.
-
keyboard_arrow_down
Roy Nuriel / Sreevatsa S - From Pyramids to hourglass - New approach and best practices for digital apps testing
One of the first things that you learn when you enter the quality assurance space is the famous triangle braked down to Unit test at the lower, on top of it Acceptance Tests based on API (in some places this layer is integration tests but the idea is the same) and at the top of the Pyramid we have the User Interface (UI) Tests. This Pyramid, in the last two decades was the main principle on how to approach testing activities (mainly automation).
In the last couple of year we are all taking part in the digital transformation that is taking place all over. Mobile Native applications as well as web applications take part in almost any activity that we are doing during the day, business are building their strategy on this channel and shifting resources and budgets to deliver applications maintained and expend their market share.
So what changed?
The users are no longer static, they are interacting with those apps while they are on the train on their way to the office, while waiting for a flight at the airport or drinking coffee while waiting for their next meeting – those “interactions” are done most of the time while they are on the go working with mobile device. In addition the application take advantage of the sensors that those devices provide in order to provide better user experience. The environment where our end users use our application has significant impact on the functionality and performance of our application which at the end of the day we call quality.
During the last year we developed a new approach for digital application testing – The “Hourglass” – This new approach expend the known Pyramid and update it to the digital era – The client side is richer and contains many components that impact the quality of application. It redefine the definition of coverage. At the top of the pyramid we add 2 additional triangles (the gives the hourglass shape) – The first one is devices – what devices should we test, how we should approach the changes that happens in the devise market. The second is the environment, the places that our end users will use and interact with the application. We leverage the automation investment and get the real digital coverage which will help to reach high quality applications.
-
keyboard_arrow_down
Andy Palmer - Robot Handles - Giving Selenium a Helping Hand
By far the most common way to use Selenium to interact with an application is to code tests that have intimate knowledge of the underlying application. This is simple, but brittle. Others may try to make the test code intelligent, leading to a very complex testing framework. There is a middle ground.
Imagine that we are building a robot to move eggs. A simple robot can deal with identical eggs, but is brittle as soon as new eggs are introduced. An intelligent robot could adapt to variations with sensitive touch sensors. Or, we could use egg-holders with a handle on top. Now all we need is a simple robot that understands handles. If we then want to move something instead of eggs, we just need a new holder – the handles and the robot remain the same.
In this session you’ll learn the metaphor of Robot Handles, discuss ways that we can add meaningful interaction metadata into the application as we build it, and demonstrate how that can be just as helpful for humans as it is for robots
12:30
Lunch - 60 mins
13:30
-
keyboard_arrow_down
Justin Ison - The Mobile Grid – Getting Started for Android & iOS
In modern times we have many different cloud testing services to choose from. These cloud services are useful and help reduce the burden of building and maintaining your own Selenium Grid environment. However, there are many scenarios in which you need your tests running locally, such you work for a government (or agency) and cannot expose your data to the cloud, or the service costs are too expensive to run all tests on every commit.
This presentation will feature getting started with setting up your own mobile device grid. Running your tests in parallel and distributed, capturing critical report data (logs, screenshots, and video), and leveraging cloud test services (such as SauceLabs). I will also talk about the challenges and lessons I learned along the way.
-
keyboard_arrow_down
Priti Biyani - One page to test them all!
These days we find most of the apps are being developed across different platform, iOS, android, windows and to keep the user base which uses web, mobile web and websites.
When apps are being developed for cross domains, most of the functionality provided by the app is very similar, varying thing is PLATFORM.
In rapid development cycle, where there are tools which allows you to write once and reuse across multiple platforms, makes development very faster.
But at the same time, if we have different automation suite for different platforms, it becomes very difficult to keep a pace with ongoing functionality.
This is the exact problem we faced, and the solution we came up with is "One Page to test them all! -A cross platform mobile automation framework! "Page Object Model
Well, Page Object Model was again a natural fit for this framework. Most implementations of POM recommend different POMs for each platform. But we wanted to have a single Page Object Model for all the 3 platforms to ensure maximum code reuse and reduce overall time spent in adding new automation.
Single Page Object Model across platforms
This was complicated because we had native screens as well as webview screens and so it was not possible to use the same Page Object. To solve this, we introduced abstractions for the elements on the screen and encapsulated the respective native driver implementations.
This also allowed us to implement common automation tasks in one place for e.g waiting for new pages to load, so that this code is not repeated across multiple step definitions and platforms. This helped us move to thinking in higher domain level concepts than in terms of low level UI interactions.
So, in summary, we write our tests for one platform and run them for all with an abstraction layer in place.
-
keyboard_arrow_down
Jyothi - Debriefing the Session Notes for Exploratory Testing
Session notes in Exploratory testing(ET) approach can be used to capture more than bugs. It not only serves as a memory of a bug, but a structured testing and learning method can be deduced from the session notes.
The workshop comprises of:
- Introduction to ET and Session based test management (SBTM)
- Elements of Session Notes
- Note taking skills, tools and tips
- Detection theory, Metrics
Many complain about ET being unstructured, session notes is an answer to such misleading beliefs.
-
keyboard_arrow_down
Julian Harty - Selenium 3 Bug Bash
14:30
-
keyboard_arrow_down
Robin Gupta - The Interviewer, Interviewee and vice-versa
This small talk is about the intricate fabric of discussion between an interviewer and an interviewee for the post of Automation Engineer.
The audience would be taken through a maze of silly, run of the mill, subjective, bizarre and occasionally brilliant questions/answers/discussions found in an average interview for Automation Engineer/Selenium Engineer.
We'll try to look at the 4 quadrants of the Selenium Interview circle, covering it from the perspectives of :
- The Interviewer
- The Interviewee
- Current Industry state
- How can we improve?
This might seem like a soft, non-technical, not-so-important topic of discussion but we must remember that bad interviews lead to bad candidates lead to bad deliverables. As they say, For want of a nail the battle was lost.
And in today's cut-throat world none of us can afford losing a good candidate to a bad interview.
Lets gather around a fire of questions, on the beach of answers to surgically comprehend the What, How and Why of Selenium Interviews.
15:00
Coffee/Tea Break - 15 mins
15:15
-
keyboard_arrow_down
Adam Carmi - Advanced Automated Visual Testing With Selenium
Automated visual testing is a major emerging trend in the dev / test community. In this talk you will learn what visual testing is and why it should be automated. We will take a deep dive into some of the technological challenges involved with visual test automation and show how modern tools address them. We will review available Selenium-based open-source and commercial visual testing tools, demo cutting edge technologies that enable running cross browser and cross device visual tests at large scale, and show how visual test automation fits in the development / deployment lifecycle.
If you don’t know what visual testing is, if you think that Sikuli is a visual test automation tool, if you are already automating your visual tests and want to learn more on what else is out there, if you are on your way to implement Continuous Deployment or just interested in seeing how cool image processing algorithms can be, this talk is for you! -
keyboard_arrow_down
Sean Grove - Generating and Running 1,000,000 Selenium tests in 60 minutes
Writing (or recording) tests manually is a tedious, robotic, and dangerous practice. It combines the worst of human nature (it's easy to avoid, easy to forget about edge cases, and difficult to maintain) with the worst of computers (no creativity in trying to break the tests, no understanding of how the underlying system works). What if we could assert high-level properties about our product (in this case, a web site), and then teach the computer to generate tests in order to try to break those assertions?Using generative, property-based testing combined with a setup carefully designed to handle concurrent tests (absolutely critical in scaling out coverage while maintaining a trustable build) and a whole lot of computing power, we'll look at how computers can actually be far better than developers at finding bugs in our systems (bug that our users would eventually hit!). We can use this as a first-line defense against regressions in our system.We'll end by looking at some amazing extensions to this technique that aren't currently widespread (Concolic testing, predictive testing) but may have significant impact on testing practices in the coming years. -
keyboard_arrow_down
Ankita Gupta / Jatin Makhija - Web Push Notification Automation Mystery Solved!
Push Notifications are the latest way of sending updates to our users. More and more Organisations are implementing Web Push Notifications along with emails and other notification systems.
So the Big Question that arises is "How do we automate them?"
We have come up with a library in various languages which can be integrated with your Automation suite and provide you everything you need about the notification triggered.
You can easily then trigger and verify the push notification sent and ship out the product without worries :)
-
keyboard_arrow_down
Julian Harty - Selenium 3 Bug Bash
16:15
-
keyboard_arrow_down
Michal Vanek / Filip Braun - Breaking down the barriers: Testing desktop apps with Selenium
Selenium was born for web-application testing. But have you ever thought it could be a great tool for testing Windows desktop apps too?
Today, more and more desktop apps use a web-like approach to implement their UI. The methods vary from basic HTMLayout environment to complex designs in CEF (Chromium Embedded Framework). However traditional GUI automation tools seem to be a step behind or ignoring the trend completely. This situation calls for finding new ways of testing.
In our talk we shall introduce to you a new way of utilizing Selenium for automated testing of desktop applications. No matter whether the HTML UI content is completely offline or loaded and updated dynamically, Selenium is able to access and navigate it just like in a web page. We’ll also show you how to build a small framework around it and plug it into your Continuous Integration process. All of this will be demonstrated using a real-life instance of Avast Antivirus for Windows.
-
keyboard_arrow_down
Nikitha Iyer / Anand Bagmar - Sharing the pain in Automating with Protractor & WebDriver
Nikitha IyerSoftware DeveloperThoughtWorksAnand BagmarSoftware Quality EvangelistEssence of TestingThere is a saying ..."Sukh baatne se badhta hai, dukh baatne se kam hota hai", translated as - "happiness increases & sadness reduces on sharing with others".
We want to take this opportunity to share with our experiences - the good and the bad, in the journey of building a Test Automation framework for an AngularJS based application.
We will learn, by a case study, what thought process we applied on the given context (product, team, skills, capabilities, long term vision) to come up with an appropriate Test Automation Strategy. This Test Automation strategy covered all aspects of Test Automation - Unit, Integration, UI - i.e. End-2-End tests (E2E).
Next, we will share how we went about narrowing-down, and eventually selecting a specific Tech Stack + Tools (Javascript / Jasmine / Protractor / Selenium-WebDriver) to accomplish the Test Automation for the product.
Lastly, we will share the challenges that came up in the implementation of the Test Automation, and how we overcame them. This will also include how we managed to get the tests running in Jenkins - a Continuous Integration tool.
This discussion is applicable to all team members who are working on Test Automation!
P.S. We will be attempting to make a sample protractor-based automation framework available on github for anyone to use as a starting point for setting up protractor-based Test Automation framework.
-
keyboard_arrow_down
Anshul Mathur - Automated Accessibility Testing
An eye with a sight can view the world, but an eye with a vision can transform it!
Truly said, good ideas might yield success but great ones earn prestige too. In the corporate world, this journey of molding an idea from being different to distinct involves understanding of the market trends, competing with already established brands and above all, hitting the correct audiences. Majority of software products have world-wide acceptance and are huge hits but what makes some of them stand out is their peculiarity of serving specially able people, individuals who lack competent physical or mental faculties.
In conjunction with delivering a product that caters to the need of specially able people, effective testing of the software is required to make sure all accessibility guidelines are implemented while product development and that the product complies to all accessibility standards facilitating a smooth user experience, both for individuals with abilities and disabilities.
Keeping under consideration the need of continuous accessibility testing, cost involved in setting up the testing conditions, effort in executing relevant scenarios and significance of complying to government accessibility standards, the paper proposes a cost-effective solution that takes accessibility testing to next level where our existing functional automation shell can leverage to embed accessibility testing as well, leading to faster, comprehensive, authentic and integrated results. Hence the title, “An Automated itinerary to achieve accessibility” -
keyboard_arrow_down
Selenium 3 Bug Bash Wrap-up
16:45
-
keyboard_arrow_down
Demos
17:15
Selenium 3 Bug Bash Showcase - 30 mins
17:45
Closing Talk - 15 mins
Post Conference Workshops
Sun, Jun 26
09:30
Registration - 30 mins
10:00
-
keyboard_arrow_down
Justin Ison - Appium Workshop
This workshop will feature getting started with automating Android with Appium. We'll learn how to capture elements in Ruby using irb (interactive Ruby), writing a test with rspec. Once we have our tests established, we'll then go into setting up a mobile device grid. Running the tests in parallel, distributed, and capturing critical report data (logs, screenshots, and video). We will also run some examples against a cloud testing service. -
keyboard_arrow_down
Luke Inman-Semerau - Grid Workshop
Selenium Grid can be a bit daunting to get up and running. Starting it is quite easy, but using it effectively requires pulling in third party tools. In this workshop we’ll cover how you would realistically run your grid, using modern tooling to run a grid with docker containers or in a cloud service like AWS or theoretically your own VM provisioning environment.
-
keyboard_arrow_down
Dave Haeffner - Getting Started with Selenium Workshop
In this workshop you will learn how to start from nothing and build out a well factored, maintainable, resilient, fast and scalable set of Selenium tests in Java. These tests will not only work well, but across all of the browsers you care about, while exercising relevant functionality that matters to your business. And if you are new to programming, don't sweat it. The core programming concepts you need to know will be covered in an approachable way as well.
-
keyboard_arrow_down
Simon Stewart - Fix a Bug, Become a Committer
Have you ever wondered how Selenium works under the covers? Do you get frustrated with locators not locating, pages not loading, or browsers behaving inconsistently from one run to the next? Selenium is an attempt to unify thousands of disparate elements across a wide spectrum of challenges into a single, common interface that works seamlessly with all the major browsers - and yet only a handful of volunteers work to maintain this gigantic effort. If you would like to enhance your own Selenium experience while contributing back to the software that has defined so many of our careers, come to this workshop. In it we'll dissect the different elements of Selenium, dive into its internals, learn how it was built and how to make changes to it, and even write a unit test you can contribute on the same day!
Please share your feedback for:
Please share your feedback for:
-
Bengaluru