Giannis Papadakis - Web Performance with SiteSpeed and Selenium
Two words you often hear together are mobile and site speed. And that’s not without reason because these two go hand in hand. Mobile-friendliness and site speed are some of the most pressing matters we have to deal with. Measuring page speed has always been something of a dark art.
In this talk we will show examples of SiteSpeed.io and Selenium on automating user journey and capturing performance metrics on the fly monitoring them in Grafana Dashboards.
Anurag Grover - Continuous audit of your site
What aspects make up for a quality website for a user? Well, to name a few:
- Is it quick to load and interact with, even on a slow connection?
- Can a wide array of audience use it without facing any hurdles?
- Do I feel secure on this website?
- No internet, can I still browse the site? Ok I will admit this may sound slightly far fetched but it is possible and has been for some time now :)
These are just a few items out of an ever growing list that devs need to keep up with. Much of the underlying stuff that makes up these elements often needs constant vigilance from developers, QA Team, Product & Business to ensure that their website is up to the mark and a lot of it often gets missed out due to human error.
How can we automate auditing these aspects and have the confidence to deploy continuously while ensuring that quality is not compromised? This short session covers an approach to answer this question.
Martin Schneider - Visual testing toolbox
The most common use-case for visual testing is regression testing using baseline images. However, in this talk, we will focus on different aspects of visual testing. We will cover template matching (using OpenCV), layout testing (using Galen) and OCR (using Tesseract) and show how to seamlessly integrate these tools into your existing Appium and Selenium tests.
Ruchi Bajpai - Let's Demystify the StaleElementReferenceException in Selenium WebDriver
"StaleElementReferenceException" is the most trickiest exception faced by selenium users while automating the Ajax based applications.
This has been my favourite interview question all these years and still most of the candidates get it wrong and usually confuse it with "NoSuchElementException". With the advent of Single Page Applications(SPA), it has become more essential to understand this topic in detail to make your UI tests more robust and stable.
Let's try to unravel the mystery of this "StaleElementReferenceException" exception in three minutes with some live java code examples on a modern web application.
Vijitha Thunga - Scale your automation tests at light speed
With ever increasing need for automation and test coverage, there is a need to cover multiple test scenarios on various platforms and configurations. Scaling automation for multiple platforms with multiple configurations poses a challenge.
In this talk I will talk about:
- Why we need to focus on scalability?
- What are the current challenges to scale test automation?
- Design patterns to overcome the challenges and its value add to the automation tests
- How to enforce security and compliance in such scenarios
Mark Kardashov - Testing Salesforce with Selenium in less than 5 minutes
Salesforce has always been a challenge in automation testing, whether its iFrames, dynamic IDs, dynamic elements, lack of stable locators and more.
In this talk I will discuss best practice techniques and demonstrate how any beginner or experienced QA engineer can create solid automation tests for Salesforce platform, by utilizing TestProject's Selenium based recorder in less than 5 minutes.
Aishwarya Vishwanath - Being a Freelancer from Tester Perspective
What is the first thing that comes in your mind when you hear the word "freelancing"? Is it possible to be a student as well as earn? Yes, it is possible. I am a third-year student pursuing engineering in the IT field. I started my testing career when I was in my 10th grade and now I am a gold-rated Freelance Tester. Freelancing is the current global trend that can not only be used to earn income but can also be used to gain a lot of skills which is actually required to survive in this current "Software Testing" community.
Hear me out to know more about how I started in this field, how you too can start your career as a freelancer, what skills are required to excel in this field and how this can change your life! :)
Anisha Narang - Working from Home and Health
While people around the world are working from home, I think this topic is worth the time. In this lightening talk I am going to talk about a few tried and tested hacks along with a few conventional to-do's while working from home. A few points covered would be: the way you start your day makes a difference, stretching your body at regular intervals, workspace hacks, everyday exercises, food, etc. All the points included here are self curated. This topic isn't related to Test Automation but of importance to all the attendees. ;)
Dimpy Adhikary - Automating canvas element using Java script
Dashboards are integral part of any web application irrespective of the business goal. The best dashboards can connect the past, present, and future enabling decision-making. It’s not only the data that matters but how the data is represented in a user friendly way is the key. One of the technology that enables this in an effective way is html canvas. This simplifies the drawing operation, provides support for animation and most importantly provide data visualization in the most appealing way to the users in the form of charts/graphs. But when comes testing of canvas in a traditional way using any UI automation tool/library is quite challenging because the only element directly exposed to the UI layout will be the
In this talk, I would like to share few quick tips of how to inspect and automate anything drown in a HTML canvas using java script. As we are aware that we cannot directly inspect canvas from browser console, we will be using the underlying UI framework technology to create testing hook via which we can easily interact with the canvas and extract any information we need or perform any action without using coordinates.
We can follow the approach as listed below:
- Find out the technology used to develop the application like if we are using Reactjs application we can use the react props to interact with the application.
- Once we got access to the object tree, we can find the object properties present
- Now we should be able to do any operation like extracting data or performing any action using java script or dispatch event
- The above two steps can be integrated with supported UI frameworks like selenium/cypress
This approach is not just limited to automating elements drown inside a canvas. This can be extended very well to interact with any problematic UI components. Personally this approach is a life saver for me while doing UI automation.
Sameer Arora - Triggering alerts on Slack along with screenshots in case of test case failure
One of the biggest limitations with most of the frameworks in selenium is that we need to wait till the end to get the final test case report. Only then we can raise the alert that a particular functionality is broken. By then, it may be too late! In addition to this, in most of the frameworks, the HTML report generated is hosted on our company's private network and we need to connect to the VPN if we are outside the office to open the report and check the related screenshots to see which test case has failed and why.
So, why not raise an alert as soon as the test case fails? And why not attach a screenshot along with that alert so that all the stakeholders can actually see what has failed in the application?
In this talk, we will learn a simple yet a really useful way of sending an alert along with the failed test case screenshot by integrating slack with selenium which will help us alert all the stakeholders as soon as an automated test case fails so that everyone can react to it immediately and the damage will be minimised.
Nikolay Advolodkin - CICD Pipeline for Automation In 3 Minutes
Say goodbye to pipelines that take hours or days to create. In 3 minutes you will learn how to create a CICD pipeline using Java, Maven, Selenium in Github Workflows. You will learn all of the mandatory steps to create the pipeline and we will even get to see 100 tests run in parallel.
Gaurav Shankar - Making Email Integrations tests easier.
How do you deal with applications that send out an email? Usually, we don’t check the emails being sent. We don’t go to Gmail or any other email client for confirming that the email was delivered.
What if your application sends out 10000s of such emails? In this case, email deliverability becomes a critical part.
In the talk, we'd try to cover how you can test out email deliverability at such a scale with much ease with Sendgrid's Inbound API.
Sudharsan Selvaraj - Why and how to protect selenium grid server(Remote selenium address) with authentication.
When we have a huge amount of tests that need to be executed across a different set of browsers, then using the selenium grid is the best option. But oftentimes, most of us not realize the danger of exposing the selenium server address for public access.
So as part of this talk, I will cover multiple ways to exploit the selenium grid server and how it can be protected using authentication(http://admin:password@localhost:4444/wd/hub)
Poorva Gokhale - Struggles of being a QA Manager
After having done the role of a QA Manager for many years now, I have realised that our struggles are very unique.
A lot of times, QA Managers are the only people representing “Quality” in a meeting with the top management. More often than not, they work very hard to convince everyone that product quality cannot be achieved with testing or automated tests alone.
Sometimes, they have to endlessly persuade other testers with keen interest in automation to do exploratory testing too.
Yes, they have to face the heat from all sides.
With some fun examples from my journey, in this talk, I hope to convey some introspective points in an entertaining way.
Kwo Ding - Improve your WebdriverIO tests without running them
By applying linting (static code analysis) tools to test code, tests can be improved which can eventually lead to better maintainability, readability and more robust tests, without even running them! In this lightning talk I will show how the ESLint UI testing plugin can help with following good practices in writing test code with WebdriverIO.
Margaret Mary - A risk-free corpus test automation of SAP GUI and smooth transition to SolMan CBTA
SAP GUI Test automation corpus built over a decade migrate to SolMan CBTA
How can we enable a risk-free and smooth transition to SolMan CBTA
- Tools and automation
- Dependence on Commercial tools
- Many tools have been used in the landscape
- Scripts built over time resulting in a large volume of test scripts
- Automation tools need expertise
- Inadequate inputs on coverage & reuse
- Manual Data setup
- Ensuring right Config Data
- Enabling Transaction Data for tests
- Manual as the first option
- Automation only for regression
- SME Dependency
- Tools and automation
- Eliminate the use of commercial tools & reduce Capex
- Migrate existing automation scripts from existing tools to the SAP toolset (CBTA)
- Covert Manual Execution runs to automation code.
- Provide the right data - system data, Transaction Data, Config Data
- Setup data to run the automated pack
- Risk-free execution
- Ensure test cases are migrated and available in SAP tools AS-IS
- Execution and running AS-IS in CBTA
- Consolidate scripts across upgrades, functional, regression
- Optimize for the right coverage
- Avoid deletions and omissions
IBM Test Automation solutions
- Automated Test script generator
- SAP recorder for script gen
- AI lead T-code script generator
- CBTA script uploader using Selenium
- ALM extractor for validation
- Historical execution report generator
- IGNITE Optimize for optimization
Soumen Saha - Testing Visual UI Validation with AI in any automation framework
- Validating the websites for content, form, formats and experience in addition to functionality is time consuming and labor intensive
- Ensure that changes do not provide misinformation or change the user experience of the websites
- Content prone to misses and oversights
- In Agile projects changes of various kinds are frequently pushed into production on the website, to provide the end user customers with the latest and best products and services
- Content correctness is crucial and ensuring it is up-to-date
- Did an objective evaluation of the AI-enabled Visual Comparison test product AppliTool
- Drove a POC and elevated the experience of visual automation test by bringing best practices in implementation
- Configured Applitool solution to work with the existing framework; prioritized procedures; applied optimization for coverage and provided an enhanced dashboard for governance.
- Seamless integration of Applitool with the existing framework. (increased automation of the testing)
- 2000+ screens automated for visual test using integrated solution with existing framework and applitool.
- Incremental build-out of the solution delivery along with skill build-up from scratch
Bhuvan Kapoor - Automated Release management
Robust release management comes to optimal use when the organization believes in faster delivery while tracking the set of things that are moving to production and giving the visibility of the same to the business stakeholders. The process becomes cumbersome when the things are not coupled and the intervention is manual while making the stakeholders aware.
I will take the case of upGrad where we tightly coupled our releases to SCM and CI/CD pipeline to keep track, know what features are going to release, maintain notes and update the stakeholders too.
A properly structured flow ensures:
Structure: Ensuring the testing pyramid is followed.
Fewer bugs: UT and Code review mandatory before the release.
Confidence: High testing efficacy and confidence with pre-planning of release.
Scalability: The process is automated to be scalable for any number of projects and repositories.
I will briefly walk through the same at upGrad with visualizations. Please find the drive link attached to go through the pdf.
Srinivasu gangam - Achieving Product Built-in quality using Zero touch automation
How you empower your Product scrum teams to run the impacted based automated tests for the code changes during each sprint boundary and achieve built-in quality ? This way your QA automation member focus on script development and anyone from Scrum team run the automated tests w/o having test automation/Software setup in their machine .
No wait time for QA tester , get your build certified immediately and achieve built-in quality .
In this 3 mins talk , I will cover the idea of Zero touch automation using innovative solutions, Cutting-edge technologies like NLP (Natural language processing), AI & Cloud solutions.
What is the value of zero touch automation?
- Enable speed to market: Now that Developers does not need to wait for QA resource, Changes can be certified quickly and ready to push to production. Lead time will be significantly reduced.
- Built-in quality: Now that anyone can certify the regression within sprint and it can run multiple times during sprint . Most of the defects will be uncovered and addressed before QA testing.
- Ease of test execution: Test execution will be very easy, no automation or framework setup required from user side. Test execution can be done 24*7.
- Productivity: Increase QA team’s Productivity to focus more on script development rather than focusing on script execution and failure analysis .
Sonu Kumar Choudhury - Jira as E2E Test Automation tool
Utilising Jira and Zephyr Api to manage Automation suite. Write tests once in Jira and use same tests as as Manual and automation tests. Just use jql in your automation suite to run those tests and after the execution is complete, the tests will passed/ failed in Jira. Also have an option to raise bugs for valid failures with screenshot and failure reasons.
Artem Sokovets - Reducing page object boilerplate code
Do you boring during setting new web elements locators for Page Object? You repeat locators from one page to another. You want to have parameterized locators. Let's consist how help to us interfaces from Java and how we able reduce boilerplate page objects code in Selenium tests.
Karthik Kumar - Standardization of Web Object ID's Engine
Standardization of Object ID-AI led way Utility will help the automation tester while automating the script to find the object id. While mapping object properties and developer can review with this utility on the webpage being developed with meaningful names for Object ID’s.
Problem Statement - Current object ID/locator identification
- For an automation tester, while locating the Objects using Inspect on a Web application, we see object locators such as ID, Name are specified in the HTML page. Sometimes, we do see ID’s are not having meaningful names for the specific application. Eg:- ID value is “md0955453-pb”, actual ID value should be “OK” based on the application.
- Based on the above point, while a developer is developing a webpage based on the HTML standards, miss out the standards with a meaningful ID (or) Name.
- Due to which, we see a lot of automation blockers coming through while creating an automation script for a web application.
The solution created through the Web Object Standardization Engine.
This solution is created to support all the frameworks using Selenium. Please find the below key features of the engine.
- For an automation tester, while facing issue on the meaningless ID/name while inspecting the Web elements, this engine helps in getting the meaningless ID’s and provides a meaningful name through AI-led learning of various webpages applications. Eg:- Salesforce, Maximo.
- This utility will help developers during unit testing of their webpages by providing meaningful names and ID’s.
- Excel based reports provide for the overall page on total objects/meaningful objects/Modified objects.
Papia Ghosh Majumdar - Scriptless One Stop Framework Solution for Software Test Life Cycle using Selenium
Build a Test Automation Platform to cover the entire lifecycle of software testing with no additional cost for Web/Mobile/API/Services, including DevOps capability.
Build a Selenium-based framework, which covers all the phases of STLC. Also, the framework is capable to interact with other open-source solutions including DevOps, Test/Defect Management, Configuration Management, Version Control, Cognitive Solutions.
The IBM IGNITE Quality Platform enables an integrated set of quality and test services, enabling defect preventative outcomes from our cognitive test apps with a test optimization experience interlocked with a script-less agile-aligned test automation approach with a single sign-on platform for users to access enterprise analytics, and test data management fabrication.
In addition, IGNITE Quality Platform can be integrated with DevOps. This end-to-end platform is built within the client premises and provides a unified architecture for both test optimization and cognitive test services.
The client using the Selenium-based Platform gets the ability to implement automation in every phase of STLC in their projects, clubbing with other open-source solutions. This enables cost, effort savings from the total testing perspective
Anup Sahoo - Optimising selenium scripts with python and Pytest
I would like to demonstrate the uses of pytest to optimise our selenium scripts. How application specific reusable functions and business specific reusable functions can be used as a fixture to achieve maximum reusability.
Shreyas Chaudhari - Crowd Testing Multilingual Search
How did an engineer with only English language skills influence the quality aspect of the Search functionality in an application that supports five different languages?
How did he convince the team the importance of the relevancy in search results by bringing in the participation of the crowd having different language literacy?
In this talk, I will share my experience about overcoming these challenges.
Hemant Ojha - Wanna move faster? Stick to the base !!
In my experience adding a functional UI test for every feature will only make everyone's life difficult. When you're releasing 8 times in a day and every time out of 1k tests some tests failing just for no reason is a nuisance. Since we've adopted the approach of stick it to the base which has expedited our release process and reduced number of bugs.
Sticking to the base here means, add unit tests both at the frontend and backend, maintain code coverage and specially cover negative scenarios and edge cases here, then if required add integration tests talking to the database, then add adequate number of quality focused api tests if applicable and skip adding UI automation tests if you're confident that it's being covered at lower level. If you want to picture it then imagine a test triangle with huge base of unit tests and small tip of UI tests.
I think time has gone for the thinking - "unit tests are developer's responsibility". It's a good practice to ask yourself and your team a question, do you really need this UI automated test. If yes then this would be a special scenario which can't be covered a lower levels.
I'll share some simple examples tests which you can surely move to either unit test suite of backend or frontend.
Saipriya N - Testing architecture for micro services
Sunny Bhatia - Uncloak Docker Image size notion
Docker - An open-source tool for creating, deploying, running applications using the OS-level virtualization. It used to ship software application packages in the form of images.
But have we heard that if are sending images to another, they should be light and not too heavy? So that uploading and downloading happen quickly. Right?
In this talk, we will uncover the notion used behind the size of docker images. We will discover the reality.
So let's get ready.
Abhijit Apte - Code coverage analysis though Functional automated tests
Test coverage is always dependant on the subject matter expert who is writing the test scenarios. code coverage analysis of your automated tests can help you identify effectiveness of your tests. Lower code coverage will definitely indicate application area not tested during regression testing and can introduce potential product defect.
Abinandan Karunakaran - Chaos Testing - Identifying System Fault Tolerance
- Monolith vs Microservices
- Fault Tolerance & Disaster Recovery
- Chaos Engineering and its Evolution
- Chaos Engineering Principles
- Chaos Testing
- Chaos Testing scenarios for sample application
- How Chaos Testing can help in Fault Tolerance?
- Chaos and Fault Injection Tools
Prachi Nagpal - Quality KPIs : Key to Efficient Testing
Every product has key KPIs & metrics to measure the progress towards defined targets which gives an overall view of readiness. Metrics helps us drive product strategy and direction focussing the impact to our customers & end users. At the same time, it’s essential to keep the analysis simple. If we spend too much time analysing/explaining, it may cause unnecessary stalls.
In this talk, I will present a simple way to create & monitor quality KPIs for your product in an automated fashion and track them in your releases. The objective is to make a qualitative impact on product & encourage improvement.
Bharath K S - Accessibility Automation Testing
Accessibility Testing is defined as a type of Software Testing performed to ensure that the application being tested is automated and usable by people with disabilities like hearing, color blindness, old age and other disadvantaged groups.
If webpages aren't tested properly, disabled persons who access the webpage may lead to false information and user experience will be compromised.
There are many tools available in the market for accessibility, but our solution does automation accessibility testing for web application.
The opensource solutions with orchestration for end-end accessibility testing with python, AI and Google Chrome extensions.
- Based on the business flow to test web application using automation and to raise defects quick and fast in Agile SDLC.
- Comparing the HTML DOM with the read out on the web application with any of the chrome plugins becomes easier.
- AI and cosine algorithm used to determine the accuracy of the content read out from the web application
- Reduced cost on the license tools vs opensource source solution
Khyati Sehgal - The ‘Say’ behind Choosing WDIO over Cypress?
Call for Talks CLOSED
Ended on Sep 9 '20 11:59 PM IST
Keen to share your interesting idea with all the participants at the Selenium Conf 2020? First-time presenter? Looking for your break-through?
Submit your topic for a 3-min lightning talk. If you have slides or videos from past presentations, please include them to maximise your chance of getting selected. Selected speakers will get a free pass to the conference.
Why are lightning talks such a big deal in the open-source test automation community?
Dan Cuellar was selected to speak at Selenium Conference 2012 in London about an entirely different topic. As part of his presentation, he showed off iOS Automation using Selenium syntax to demonstrate writing platform-agnostic tests that use separate platform-specific page objects with a common interface. To his surprise, the cool test architecture would take a backseat to the spectacle of iOS tests running like WebDriver tests. Several people suggested that he give a lightning talk later in the conference to explain exactly how it worked.
On the second day of the conference, Dan stepped up on stage to give the lightning talk. Jason Huggins, co-creator of Selenium, moderated the lightning talks. Dan experienced technical difficulties getting his presentation to load, and Jason nearly had to move on to the next lightning talk. At the last moment, the screen turned on and Dan jumped into his presentation. He explained the details of his implementation and how it worked, begged for contributors, and in five minutes it was over. The crowd applauded politely, and he left the stage.
If we look at how Appium came into existence, lightning talks are a very important part of this journey. Hence at Selenium Conf, we would like to dedicate a full session with all attendees on Lightning talk.