schedule Jun 28th 10:00 AM - 06:00 PM place Lalit 1 people 19 Attending

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!

 
11 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Join Simon Stewart, the creator of the WebDriver interface, as we:

  • Survey the different parts of the system
  • Learn where the language bindings and browser internals originate
  • See how the source code is structured
  • Learn how to build Selenium on your own desktop
  • Write a unit test and create a pull request to contribute it back
  • Understand how releases get cut
  • Search out the bug database for an issue you can fix during the workshop
  • Ask questions in the presence of several of the core committers
  • Learn what it takes to become one of the core committers. This free, Open Source project always needs more help

Learning Outcome

Deep dive into Selenium Project and hopefully when you leave, you would be able to start contributing to the open source project.

Target Audience

Anyone interested in understanding the internals of Selenium Project

Prerequisite

Please make sure you've the latest code checked out and working from https://github.com/SeleniumHQ/selenium and https://github.com/SeleniumHQ/docs

schedule Submitted 1 month ago

Comments Subscribe to Comments

comment Comment on this Submission

  • Liked Kushma Thapa
    keyboard_arrow_down

    Kushma Thapa - Running Automation tests twice as faster: How we got rid of Selenium Grid dependency.

    45 Mins
    Talk
    Intermediate

    With the rapid scaling of our health care application under consideration, in terms of number of users and the functionality involved as well as migration from a legacy system, the need to increase the coverage of automated tests for both systems seemed vital. Also, running a large no of test suites on daily basis against multiple browsers was critical.

    As a part of this transition, the existing popular concept of using a continuous integration server with a grid machine and individual node machines poised issues in terms of cost as well as performance. Increase of automated test led to the increase in demand of node machines distributed across different machines on the same/different network. While the network latency for a limited number of node machines could be ignored, it eventually caused a significant reduction in performance.

    Being part of a large enterprise, changing the architecture was not a feasible solution. In this talk we will talk about how selenium grid was removed from the equation to achieve automated tests that ran twice as faster and how it can be integrated on enterprise level requirement.

  • Liked Manoj Chiruvella
    keyboard_arrow_down

    Manoj Chiruvella - Smart Test Failure Analysis with ELK (Elastic Search, Log Stash & Kibana)

    Manoj Chiruvella
    Manoj Chiruvella
    SDET Lead II
    Host Analytics
    schedule 1 month ago
    Sold Out!
    20 Mins
    Talk
    Advanced

    In contemporary test automation world, we are running 1000's tests every day. Even though most of our test cases are reliable and stable, debugging failures will consume lot of time, if not handled appropriately. This is an effort to reduce the analysis of failures and come up with probable root cause for each and every failure.

    In this talk, we will explore all the approaches we have taken to drastically reduce the time to debug the failures & let you concentrate more on adding new tests. We will also talk about the approaches which could not yield results for us initially & why. We will look into building a failures' dashboard, driven by pattern based classification of logs(both server & automation tool) with reporting.

  • Liked Gil Tayar
    keyboard_arrow_down

    Gil Tayar - Not Only Cars: “AI, Please Test My App”

    Gil Tayar
    Gil Tayar
    Senior Architect
    Applitools
    schedule 2 months ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    Autonomous cars were a Scifi dream not 10 years ago. A computer driving a car? No way. But it did happen, and is happening. And if scientists do it for a complicated task such as driving, can they do it for automated regression testing? In this talk we explore what is being done in the field today, but also speculate about the future: we introduce the 6 levels of autonomous testing (that correspond to the 5 levels of autonomous driving), and try and figure out what kind of help current AI techniques can bring to automated testing.

  • Liked Pavithra Navaneeth
    keyboard_arrow_down

    Pavithra Navaneeth - Appium at an Enterprise Banking Organisation

    Pavithra Navaneeth
    Pavithra Navaneeth
    Test Automation Lead
    Banking
    schedule 1 month ago
    Sold Out!
    45 Mins
    Case Study
    Intermediate

    Time waits for no one in a rapid, constantly evolving Digital Era. Australian Bank customers are among the world’s fastest adopters of mobile banking. With growing digitisation, banking doesn’t need another test automation tool but the right automation. In this session you will learn how Appium, an open source test automation tool, is playing a significant role in bringing the extreme fast changes to the market in a real-time digital environment.

    Mobile Banking apps involves extensive testing due to multiple data variations, multiple app states, complex app flows, secured authentication, integration with third party apps, need of tests in different test environments, complex/secured back-end systems. Achieving automation with these complexity is not so easy, it comes with lot of challenges to get the benefit of automation. This session helps one to understand the complexity involved in automating the banking app and solutions required for the same: "Write once and test anywhere with any test condition, Switch between apps at run time without uninstalling or cleaning the data, Starting every test with specific banking app state especially after the test failures, Executing Pre-Post requisites integrated with automation such as DB Queries & REST API calls integrated to ensure clean state of the data, Mock environment integrated with native automation to overcome the frequent backend issues".

    As digital users are increasing day by day; another requirement is to have the vast device coverage with various OS versions. Nowadays in market we have many licensing tools available with Cloud solution. But, being said that it’s a banking app and highly secured with sensitive data we implemented our own solution for seamless automation execution in CICD environment. Will walk through the journey of our CICD implementations, challenges we faced, how we overcome those challenges and achieved the highly reliable parallel runs on real physical devices.

    Delivering the features on time is always the priority but at the same time one must understand the importance of automation in an agile enterprise world. Last but foremost will share our experience in how we educated the importance of automation to all stakeholders and uplifted manual testers to on-board automation.

  • Liked Anand Bagmar
    keyboard_arrow_down

    Anand Bagmar - Measuring Consumer Quality - The Missing Feedback Loop

    45 Mins
    Case Study
    Intermediate

    How to build a good quality product is not a new topic. Proper usage of methodologies, processes, practices, collaboration techniques can yield amazing results for the team, the organisation, and for the end-users of your product.

    While there is a lot of emphasis on the processes and practices side, one aspect that is still spoken about "loosely" - is the feedback loop from your end-users to making better decisions.

    SO, What is this feedback loop? Is it a myth? How do you measure it? Is there a "magic" formula to understand this data received? How to you add value to your product using this data?

    In this interactive session, we will use a case study of a B2C entertainment-domain product (having millions of consumers) as an example to understand and also answer the following questions:

    • The importance of knowing your Consumers
    • How do you know your product is working well?
    • How do you know your Consumers are engaged with your product?
    • Can you draw inferences and patterns from the data to reach of point of being able to make predictions on Consumer behaviour, before making any code change?
  • Liked Syam Sasi
    keyboard_arrow_down

    Syam Sasi / Jerry Zhao - How to build a device lab in your office in 48 hours!

    45 Mins
    Talk
    Intermediate

    Continuous testing is an integral part of continuous delivery pipeline. When it comes to mobile application, the testing become increasingly complex.

    As part of our internal quarter hackathon at Carousell, we developed an automation testing framework and device lab in 48 hours which has both parallel and distributed mode of running.

    We will share about how you can set up a similar device lab in your organization and the best practices to be followed.

  • Liked Raj Thapa
    keyboard_arrow_down

    Raj Thapa - 100% automated, customized and continuously integrated performance test with result analysis and reporting

    45 Mins
    Talk
    Intermediate

    While performance tests are common among web applications to test their speed, scalability and reliability, a systematic approach to conduct dynamic, automated and customizable automated tests along with fully automated results reporting and display can be regarded as a major challenge.

    In this session, discussions on an approach to conduct about the aforementioned with zero manual intervention will be carried out. The result being a fully automated test strategy that can easily be outlined to Product owners and higher-level management.

    The discussion will be focused on the overall process that initiates with the execution of performance tests using Continuous Integration Server whose results are extracted, logged and used for performance analysis, monitoring and baselining.

    The results are reported in a custom dashboard comprising of features that compare every build with historical data, compare deviations and provide a concrete idea of standard performances regarding the response time of the server over a period. A separate aggregated high-level report is also sent automatically as an email to respective stakeholders.

  • Liked Pallavi  Sharma
    keyboard_arrow_down

    Pallavi Sharma - Selenium with Behave using Python - Workshop

    Pallavi  Sharma
    Pallavi Sharma
    Founder
    5 Elements Learning
    schedule 1 month ago
    Sold Out!
    90 Mins
    Tutorial
    Intermediate

    In this workshop, we will learn in hands on how can we use Selenium open source test automation tool with Behave, the BDD for Python.

  • Liked Shivaling Sannalli
    keyboard_arrow_down

    Shivaling Sannalli - Unify service and UI layer Automation - BDD way

    90 Mins
    Workshop
    Intermediate

    Software delivery is switching towards business driven development. This needs capturing requirements as presented by clients and translating these requirements into development tasks and tests.

    Clients want visibility on the quality of the requirements that are captured. Quality in the delivery of the project measured using the test pyramid — heavy unit tests, more integration and service layer tests, and fewer UI tests. Test pyramid is the ideal quality structure for Agile projects.

    In this presentation/session we will focus on how we can combine both service layer tests and UI layer tests in a BDD(Behavior Driven Development) way of Automation. That will bring test coverage visibility to business. Clients themselves can run this suite without having to understand technicalities of the implementation. Test scenarios will exactly be the requirements captured by business as behaviors.

    To accomplish BDD way of automation for both service layer automation and UI layer we will use following tools/libraries:

    BDD Tool: Gauge or Cucumber (both are open source)

    Service layer Automation : Unirest for JAVA

    UI layer Automation : Selenium WebDriver for JAVA

  • Liked Shweta Sharma
    keyboard_arrow_down

    Shweta Sharma / Mohit Aghera - Automated testing using Behat and Selenium

    480 Mins
    Workshop
    Beginner

    Do you want to deliver a well-tested website, covering all the test scenarios in every iteration? Excellent, then what is the problem? Oh, too much of manual effort in executing the regression test cases. Well, then automate it. Now, what? Automation, huh, it needs a lot of coding, too much of investment. OK, enough reasons given, the list can go on.

    Get started right on with automating your test scenarios with minimal code is what all Behat is about. Behat proved to be extremely useful to me in order to enter the world of automation. After understanding the architecture and its correct usage, my team and me could automate around 70% of the test cases by writing no/minimal PHP code. The lovely features provided by Selenium Webdriver can be easily integrated into Behat with the help of Selenium2Driver which comes out of the box. It is an automation testing framework, coupled with rich libraries in the form of extensions to enable users automate their acceptance tests, API tests and even create a Page Object model when needed. You can execute tests on various browsers or even headless browsers like phantomJS and headless Chrome for faster execution.

    Since Behat is built on the lines of Cucumber and promotes BDD, it has proved to be an extremely useful tool to ensure that were are first building the right system followed by the system is being built right. With the help of human readable scenarios written in the feature files, the automation system can be understood by all the three parties - Business people, developers and testers. Gherkin language enables the tester to build more and more strong and a rich Automation test suite than trying to get the code right. composer.json and behat.yml files enable the user to configure stuff in no time.

  • Liked Siddharth Kulkarni
    keyboard_arrow_down

    Siddharth Kulkarni - Dr Culture Shock - Or How I stopped worrying and embraced Org Culture

    45 Mins
    Talk
    Intermediate

    The org culture mantra is usually considered a silicon valley mumbo jumbo. Although many companies and teams rant about culture, very few in my opinion take it seriously. In this talk I would like to discuss the importance of Org culture and how it makes or breaks businesses and teams. I will lay out some key pointers that will help the influencers in the audience make decisions about their org or team culture. The talk will be in the context of culture in tech companies.

  • Liked Ruchika Rawat
    keyboard_arrow_down

    Ruchika Rawat - Lean Test Approach - in Agile

    Ruchika Rawat
    Ruchika Rawat
    Quality Analyst
    ThoughtWorks
    schedule 1 month ago
    Sold Out!
    20 Mins
    Case Study
    Beginner

    Talk Description Automation provides an immense amount of value in preventing regressions and helping to deliver quality software. As an organization’s automation grows and grows, it requires continuous maintenance so that tests remain fast, reliable, and valuable. If not scaled efficiently, an organization’s automation suite will turn into a messy, uncontrollable beast. Having a lean test suite will help to combat this. In this session will present methods to keep automated test suites lean and mean, so they always provide quick and accurate feedback to the software delivery team. Using a few examples, she will discuss a wide range of ideas including evaluating a test's value, parallelizing tests, and producing consistent results. Session attendees will walk away with strategies and practices to scale their test automation over time in a highly efficient and maintainable way.

  • Liked Gil Tayar
    keyboard_arrow_down

    Gil Tayar - Frontend Testing: Stepping in and Collaborating with Developers

    Gil Tayar
    Gil Tayar
    Senior Architect
    Applitools
    schedule 2 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Testing is shifting left, moving closer to testing the code itself, and not the full product. But while managers dictate a shift to the left, the developers and testers themselves are confused as to how exactly to test the code. While the backend world already has established methodologies for testing, frontend developers and testers are still trying to figure out how to test their code.

    Testers need to step in and work with the frontend developers. Testers need to understand the framework by which frontend code is tested. They need to understand the various kinds of testing that can be performed on frontend code, and which tools can be used for this.

    I will give a recipe that you can follow to ease your fear of the unknown —writing tests for developer code. I will discuss the various kinds of testing and how they fit together in a coherent way, but most importantly - I will include sample code that you can use as a template in your own project, and if time permits—a bit of live coding will be done.