Client side health and up-time monitoring tool with Selenium Webdriver(Synthetic Monitoring)

schedule Jun 30th 04:00 PM - 04:45 PM place Kalinga Hall 2 people 3 Attending

Application monitoring is the essential part for a heathy application. In the present scenario most of the applications are inclining towards cloud infrastructure. A reliable application has a deep desire to achieve 100% up-time. Tools like NewRelic , AppNeta , AppDynamics are great for server side monitoring.

But most of the time we ignore client side application heath check. This session is dedicated to the requirement and fixing of Client side application monitoring. There are very less tools available in market for Client side monitoring which can run 24X7 in the production web application and report an issue without any manual interference’.

To achieve client side monitoring I developed a Monitoring tool using Java Spring, AngularJS, MongoDB as a dashboard tool which is in continuous work from more than 1 year.

This tool shows real-time status of the different panels of the application. Any time if a panel goes down due to any back-end or front-end failure an email triggers with the application screenshot and a proper error message. This dashboard is monitoring application 24X7 and capable enough to calculate up-time of individual web panel and complete application.

Here Selenium Webdriver crawls the production application and gather browser network tab information and submit it to the dashboard.

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

Outline/structure of the Session

  • What is Application monitoring? [3 min]
  • Type of Application monitoring - Server side and Client side [3 min]
  • Deep understanding about Client side/Synthetic Monitoring [6 min]
  • Existing Client side/Synthetic monitoring tools to monitor web application [3 min]
  • Use of Selenium Webdriver in Synthetic monitoring tool [5 min]
  • Knowledge sharing to create your own customized Synthetic monitoring tool for production application using Selenium Webdriver, AngularJS, Java Spring [5 min]
  • Make a web dashboard for reporting any issue [4 min]
  • Make the tool event driven to take appropriate action for any unwanted client side issue [3 min]
  • Demo of the tool which is already up and running for past 1 year for Client side monitoring and measuring Up time of production web application [8 min]
  • Q&A [5 min]

Learning Outcome

  • Understanding of Client side/ Synthetic Monitoring of an application and its importance.
  • Attendees can learn tool development ideas over Selenium Webdriver.
  • Attendees will have more clarity that selenium is not limited to a testing tool only and they can utilize it to create tools like Application Health Check Monitor etc. as well.

Target Audience

Testers, Developers, Devops ,Application Monitoring Teams,Technology Manager


Anyone who has basic understanding of Selenium Webdriver , Web Application life cycle can attend this session.

schedule Submitted 2 months ago

Comments Subscribe to Comments

comment Comment on this Submission
  • Anand Bagmar
    By Anand Bagmar  ~  2 months ago
    reply Reply

    Hi Bhupesh, 

    This seems very interesting and definitely an area which is unfortunately quite ignored, or not done as well as required.

    • Is this tool available for others to use as well (either commercially or as open-source)?
    • How does this tool compare with say, sitespeed, etc.?
    • What requirements would you have from the demo perspective?


    • Bhupesh Pant
      By Bhupesh Pant  ~  2 months ago
      reply Reply

      Hi Anand,

      Thanks for reviewing the proposal. My comments on your questions are inline:

      • Is this tool available for others to use as well (either commercially or as open-source)?
        • [Bhupesh] : I am in a process to optimizing the code further by adding more unit tests and couple of enhancements so that it can be open source. I have a target to open-source the tool soon.
      • How does this tool compare with say, sitespeed, etc.?
        • [Bhupesh]: This tool is capable to run for multiple applications continuously day and night without any manual intervention. You can see at the end of the sample video I have shown a small demo of the monitoring tool portal. In real application this tool is already running for past 1 year.(you can assume time tool like a newrelic for a UI side monitoring). This tool showing real time application performance . I have exposed Rest APIs in this tool by which you can submit any new monitoring data in this tool. For any alarming issue the tool trigger alert mail to all stackholders for the UI issues.You can host the tool in your own machine or any VM. These are some of the features which are not in the tool you like, sitespeed.
      • What requirements would you have from the demo perspective?
        • [Bhupesh]:For demo I need my laptop where I will run demo app in localhost.


  • Liked Syam Sasi

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

    45 Mins

    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 Manish B

    Manish B - QA in DevOps, Going Cloud with Test Automation

    Manish B
    Manish B
    Practice Manager, QA
    Coda Global
    schedule 2 months ago
    Sold Out!
    45 Mins

    DevOps is not just a strong implementation of agile processes and principles, but it is more of a culture built upon trust among the stakeholders involved in developing and delivering the software. DevOps focuses on reducing the friction among teams aligning their work efforts in getting the product to quickly reach the customers. This is achieved by automating the development and deployment tools, allowing accelerated delivery. We can clearly see the significance and involvement of development and operations team here but, people often find it difficult to picture where the QA team plays its part.


    In a real-world, quality assurance is a continuous activity of implementing processes, procedures, and standards to ensure that an organization is providing the best possible product or service to the customer, and it happens at every single instance in the form of continuous testing.

    Image-QA in DevOps

    We perform various types of tests to make sure the delivered software meets the quality standards on a functional, usability and performance basis (categorized on a high level). And to contribute to the agility of DevOps where the focus is to deliver faster, it is hard to ignore the fact that: “it’s easy to deliver things quickly, but delivering quality things quickly is difficult”. In order to speed things up, a quality analyst relies on test automation.

    Image-Leveraging Test Automation

    To unleash the real power of test automation (test execution/ run), we can leverage the cloud with the right blend of open-source tools. In the presentation, a demonstration on a test automation skeleton built on Robot Framework will be given, which leverages docker containers placed on the cloud platform (AWS). This test automation skeleton automates web apps, mobile apps (native & hybrid) in headless mode utilizing the Selenium & Appium libraries in a CI /CD mode.

    Robot Framework - What is it? Click here.

    Docker - What is it? Click here.

    Tech Stack - Skeleton: Robot Framework, Selenium, Appium, Docker containers, AWS cloud platform

    Supporting Tools: Jenkins (CI Tool), Sauce Labs (also supports other similar device lab platforms)

  • Liked Ruchika Rawat

    Ruchika Rawat - Lean Test Approach - in Agile

    Ruchika Rawat
    Ruchika Rawat
    Quality Analyst
    schedule 2 months ago
    Sold Out!
    20 Mins
    Case Study

    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 Manjyot Singh

    Manjyot Singh - QAOPS - QA Testing in a DevOps World

    Manjyot Singh
    Manjyot Singh
    Lead QA Consultant
    Thought works
    schedule 2 months ago
    Sold Out!
    45 Mins

    QAOps is Continuous Testing Strategies when
    frequent software delivery matters.

    It is no surprise that automation and orchestration
    make life very easy, be it a small organization or
    a large-scale industry that houses hundreds of
    servers. IT automation is essentially the ability to
    orchestrate and integrate tools,
    people, and processes through a certain workflow. I will be using Ansible and Docker to showcase the same and writing ansible tests on top of that.

    Ansible - Ansible is an IT automation tool which can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments. Ansible is actually designed to be a “fail-fast” and ordered system, therefore it makes it easy to embed testing directly in Ansible playbooks.

    Docker - A docker container is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure.