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

How do you automate windows dialogs using Selenium?

Following 3 ways are commonly used to deal with Windows Dialogs: (Download, Upload Dialogs) 

1) Autoit : Need to have autoit framework installed (Additional tool installation require)
2) Robot Class in java: Not reliable
3) Java code using HttpRequest (Does not always work, requires href attribute)

Instead of above options, I found that we can simply use Selenium Server Standalone jar to work with Dialogs using simple java code.

For any other Advanced and complex scenarios,

we can use .Net framework to handle the dialogs or any windows based application.I have developed a Code (using .net framework) using which we can do Automation of Windows Components e.g. calulator, Notepad.

 
93 favorite thumb_down thumb_up 9 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Problem Definition - 5 min
Identified Solution -5 min
Demo - 10 min

Learning Outcome

Community will be able to handle windows based dialogs (system pop ups) using Selenium Jar instead of any other third party tool.

Target Audience

Selenium Users and Developers

schedule Submitted 3 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Dave Haeffner
    By Dave Haeffner  ~  3 years ago
    reply Reply

    I'm glad to see someone tackling system popups. It seems like this is still something that is misunderstood by folks in the community.

    That being said, this feels a bit light for a conference talk. It may be better suited as a lightning talk.

    • Ashish Joshi
      By Ashish Joshi  ~  3 years ago
      reply Reply

      Hi Dave,

      Please note that, I did get chance to work with different Windows OS only.

      As per my understanding, my solution will work only with Windows and with Internet Explorer (and may be on Firefox and Chrome.)

      Regards,

      Ashish 

      • Dave Haeffner
        By Dave Haeffner  ~  3 years ago
        reply Reply

        Thanks Ashish.

        Can you elaborate on what your Selenium code enables you to do with the dialog boxes?

        Any chance you can confirm if your approach works with Firefox and Chrome?

        • Ashish Joshi
          By Ashish Joshi  ~  3 years ago
          reply Reply

          Yes It works with Firefox and Chrome in Windows. I'll provide the code if require

          Regards,

          Ashish

          • Joshua Eric
            By Joshua Eric  ~  2 years ago
            reply Reply

            Can you post your code?

    • Ashish Joshi
      By Ashish Joshi  ~  3 years ago
      reply Reply

      Hi,

      Thanks for the Comment, Requesting you to elaborate more so that I can understand what community is requiring from my side.

      Thanks and regards,

      Ashish

  • ravikumar
    By ravikumar  ~  2 years ago
    reply Reply

    I am glad to hear , I am facing this problem for a long time we have tried some senarios nothing works we have removed these automation test cases

    Could you please provide me the source code for this problem

    Thanks

  • Gyaneshwar
    By Gyaneshwar  ~  3 years ago
    reply Reply

    It's really challenge for automation when pop up comes in the application while executing certain scenarios. SAFAL is capable of handling such popups, and I think this is the great achievement as we all know that pop up are really 'villain' when it comes to automation.

  • Dave Haeffner
    By Dave Haeffner  ~  3 years ago
    reply Reply

    Hey Ashish,

    Does your talk only cover how to work with system popups in Microsoft Windows? Or does your solution address other operating systems as well? Does your approach work on all browsers too?

     

    Cheers,
    Dave H


  • Anand Bagmar
    Anand Bagmar
    Director - Quality
    Vuclip Inc.
    schedule 3 years ago
    Sold Out!
    45 mins
    Experience Report
    Advanced

    Page-Object pattern is very commonly used when implementing Automation frameworks. However, as the scale of the framework grows, there is a limitation on how much reusability really happens. It inherently becomes very difficult to separate the test intent from the business domain.

    I want to talk about this problem, and the solution I have been using - Business Layer - Page - Object pattern, which has helped me keep my code DRY.

  • Liked derrick
    keyboard_arrow_down

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

    derrick
    derrick
    Software Engineer
    Purdue University
    schedule 3 years ago
    Sold Out!
    60 mins
    Demonstration
    Intermediate

    In an age where the Page Object Pattern and Page Factory Pattern dominate web testing conversations, there is still a need to understand and apply the design patterns of yesteryear. Ideas from the Facade Pattern, Factory Method Pattern, the Iterator Pattern, the Object Pool Pattern, and the Decorator Pattern all find their way into the Page Objects we build to represent the increasingly complex widgets found on today's websites.

    In this presentation, we take it back to the old school, looking at novel ways to apply classic design patterns, like those developed by the Gang of Four and Code Complete, to new screen scraping problems. We will investigate three common scenarios where using the typical approach to page objects can be inefficient or difficult, including filling in a web form, iterating over data in a list, and traversing iframes to communicate with widgets. We will explore how to improve upon the naive approach to building these page objects through the use of classic design patterns. Finally, we will formalize our findings into new patterns which can be applied to more general scenarios.

    Code examples will be presented in Python and based off of my work building automation tools for hubzero.org, a platform for scientific collaboration.

  • Liked Igor Khrol
    keyboard_arrow_down

    Igor Khrol - Increase Selenium tests stability via JavaScript

    30 mins
    Talk
    Intermediate

    UI-tests are not really stable. Some sync point might be missed and tests will be red from time to time without any obvious reason. Or accidentally some focus might go away and button will not be clicked. These and other cases make automated testing results unpredictable and these results are not trusted. 

    In my speech I want to share the experience how to reach reliable and reproducible results with Selenium tests. In order to reach it we should sacrifice to 100% end user emulation. The presentation is based on the real project where this idea was successful. Also more common recommendations will be given publicity.

  • Liked dima kovalenko
    keyboard_arrow_down

    dima kovalenko - Scaling and managing Selenium Grid

    45 mins
    Talk
    Intermediate

    Managing the Selenium Grid can be very difficult, especially as you scale it up.  This session will demonstrate how we were able to scale the Selenium Grid with multiple operating systems, in multiple data centers across many continents. With the use of Selenium Grid Extras, and open source project, we were able to get much better control of individual nodes, manage WebDriver versions and much more. 

  • Liked Oren Rubin
    keyboard_arrow_down

    Oren Rubin - Page Objects Done Right

    Oren Rubin
    Oren Rubin
    Founder and CEO of Testim
    Testim.io
    schedule 3 years ago
    Sold Out!
    60 mins
    Talk
    Intermediate

    Slides: http://www.slideshare.net/orenrubin/page-objects-presentation-selenium-conference-2014-38767492

    In this talk I will walk the audience step by step at building tests using the Page Object Design Pattern, making several attempts until we reach the current recommendation. We'll see the dos, don'ts, and common pitfalls.

    In this presentation I'll also cover the Page-Factory Design Pattern, and best practices for dealing with asynchronously and how to remove the deadly "random sleeps".

  • Liked Naresh Jain
    keyboard_arrow_down

    Naresh Jain - Selenium DeTox for Achieving the Right Testing Pyramid

    Naresh Jain
    Naresh Jain
    Founder
    ConfEngine.com
    schedule 3 years ago
    Sold Out!
    45 mins
    Case Study
    Intermediate

    Our project was a classic example of Selenium gone wild! As our team embraced the test automation journey, we went crazy and implemented tons of Selenium tests, one for every permutation possible. Soon we realized our feedback cycles were delayed. Our builds were taking hours instead of minutes. And we had a set of complex, fragile tests, which resulted in a lot of false-negative scenarios and finger pointing.

    At this point, our team had realized that this is not the path forward. We decided to seriously look at our Selenium tests. We pretty much moved 80% of our Se tests to lower-layers (non-GUI based) tests. And now we have the right testing pyramid on our project.

    Join us, as we explain our journey (strategy, techniques, tools, mindset-change and approaches we took) through this transition.

  • Liked Syed Khaja Habeebuddin
    keyboard_arrow_down

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

    30 mins
    Talk
    Intermediate

    There is so much valuable data that Selenium Nodes writes into log file(s) when tests get executed on them. So much of this data is not mined for actionable intelligence.

    In this session, we will show you how operating system level metrics can be combined with data from Selenium nodes to result in rich actionable intelligence that will tremendously aid in the analysis of test failures, react to test execution flakiness, and to improve your automated test resiliency.

  • Liked Prasanna Kanagasabai
    keyboard_arrow_down

    Prasanna Kanagasabai - Testing "Injection" Attacks with Selenium

    60 mins
    Demonstration
    Intermediate

    Business applications are growing at a break neck speed to cater to ever increasing business need. The dream of ever-connected systems and information at fingertips is quickly becoming a fact. This dream has brought out an evolution of online-real time applications with multiple requirements and functionalities. The down side to this security is being forced to take a back seat. Add to this the sheer quantum of code to cover is overwhelming to a manual security tester.

    One of the most common attacks against web applications is injection attack; injection flaw allows a malicious user to send malicious input to an application. The consequences of having injection flaw in your application can range from a user be able to steal all the data from your database to extreme situation like he having a command access to your infrastructure. We in this session want to show the power of automation using selenium. We will demonstrate how we are writing some interesting scripts to automate the testing of injection attacks in web applications. The outcome of automation is that we have been able get a fair code coverage and gives the time to security tester to concentrate on more tests that need his manual expertise say business logic failure or a design failure. 

    Though selenium could be used to automate far larger scope but we choose Injections as a priority for these sessions as injections form a large part of the web application attack landscape. We intend to give you some of the learning’s we had in the past, and some pitfalls we noticed. One could take the same idea and extrapolate to other attacks too.

    Attacks we plan to cover 

    1. SQL Injection 

    2. Command Injection 

    3. XSS 

  • Liked Sreedevi Vedula
    keyboard_arrow_down

    Sreedevi Vedula - WebDriver and Cucumber in the JavaScript Land!

    90 mins
    Demonstration
    Intermediate

    WebDriverJS and Cucumber.js are new entrants in the WebDriver eco-system and are gaining popularity by the day! These JavaScript ports for WebDriver and Cucumber enable us to test the JavaScript UI apps built using frameworks like Angular JS, Ember.JS with great ease.

    The UI tests can be written in JavaScript, thereby using the same technical stack of the application and the tests seamlessly integrate with the code for continuous integration and continuous delivery.

    The session is a demonstration of test framework using Cucumber.js and WebDriverJS for testing an open-source Angular JS application.

  • Liked Artem
    keyboard_arrow_down

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

    Artem
    Artem
    Test Team Lead
    Yandex
    schedule 3 years ago
    Sold Out!
    30 mins
    Talk
    Beginner

    It's pretty cool to have selenium test results clear to everyone on the team. There are lots of frameworks in every language that aim to simplify test writing. But only few can provide sharp presentation of test execution output. Yandex team is working on Allure (https://github.com/allure-framework/allure-core/wiki) - an open-source framework designed to create crystal clear reports. Because of module structure it integrates easily with almost any testing tool, no matter which language you use. In my talk i will describe the basic principles and show how to integrate Allure reporting in your existing projects.

  • Liked Santhosh Kumar
    keyboard_arrow_down

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

    Santhosh Kumar
    Santhosh Kumar
    CEO
    scaleqa
    schedule 3 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

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

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

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

  • Liked Prashant Badgujar
    keyboard_arrow_down

    Prashant Badgujar - Leveraging selenium webdriver for ExtJS web application automation

    30 mins
    Talk
    Intermediate

    ExtJS is a web development framework used for developing next generation web based UIs. In ExtJs the object Id's are dynamic in nature, the object id's are not static everytime the object is rendered in UI. The challenge is to automate UI functionality when the objects are dynamic. Extjs does not recommend assigning static html-ids to objects for web application development.

    Would like to share our experience how selenium webdriver with java has been leveraged in retrieving those dynamic Id's at run-time and perform operations on those objects. A way for test automation on an web application which is developed using ExtJS framework which generates the dynamic html-ids.

  • Liked Kamlesh Khatwad
    keyboard_arrow_down

    Kamlesh Khatwad - Get business analysts/experts to DIRECTLY author & automate tests - Selenium-based SIMPLE, SCRIPTLESS, COST-EFFECTIVE Test Automation platform - for diverse portfolio of enterprise applications

    Kamlesh Khatwad
    Kamlesh Khatwad
    Manager - Testing
    SunGard
    schedule 3 years ago
    Sold Out!
    45 mins
    Case Study
    Intermediate

    • Sharing our experience of rapidly transitioning automated testing of multiple technology-diverse enterprise applications to a Selenium-based solution framework (we call it SAFAL!!), thus enabling higher release velocity & lowered costs.
    • By enabling business analysts / domain experts to intuitively specify test scenarios/cases in an easy-to-use interface, powered by a powerful Selenium-based test automation architecture - we have moved to a higher velocity delivery at lower $ costs across a large portfolio of software applications.
    • Enabled a small group of technical/Selenium experts to support growing number of application testing in a scalable manner. Simplified test automation eliminate requirement of high-end skill set resources and enable all set of users (QA, Dev., BA, Product support, PS ) to take benefit of test automation and contribute in improving product quality by building automation script.
    • No need to spend significant efforts to build test automation framework at individual product level as Automation solution provides an in-built generic framework.

    Get a quick demo & understanding of SAFAL – that enables business analysts to rapidly generate automated tests.

    The benefits it has reaped are huge – but so were the challenges we had to overcome to get a globally diverse organization transitioned to such an approach!!

    Key Characteristics of SAFAL

     

    Characteristics

    Description

    EASY & SIMPLE

    Simplified Test Automation

    (3 Steps Test Automation -> 1. Test Data 2.Object Identification 3. Test flow.)

    Spreadsheet to define BOTH test scenarios and business processes.

    MAINTENANCE

    Easy & Minimal efforts require for script maintenance for on going releases.

    REUSABILITY

    Script can be reused across environments(Dev, QA, UAT, Per-Production, Client )

    PORTABILITY

    Functional flow and Test data is abstracted.
    Script can be easily port from one environment to other environment

    SKILL SET

    No need for technical skills to create and/or read automated test scenarios or business processes (abstraction).

    Users (BA, Functional Tester, and Developer) can create automated keyword scripts using MS excel or the Script Editor once familiar with the keyword repository.

    CUSTOMIZATION IN TOOL

    Its in-house solution so any new request for enhancement can be implemented quicker.

    REUSABILITY OF REPOSITROY

    Enrich keyword repository consist of 400+ keywords various technologies and exclusive 100 keywords for HTML5 controls/framework .

    TESTED & PROVEN

    Built a comprehensive regression pack for multiple products(8-10) in AM Segment.

    FASTER

    Multi-thread versions of SAFAL enable us to run multiple scripts concurrently, which play a vital role in reducing regression duration.

    SCRIPTLESS

    No tool expertise and proprietary scripting language skill set resource require. Member in product group could create automation script easily.

    Key Features of SAFAL

    Features

    Features

    Features

    Automation Scripting- Excel

    Language support for keyword creation- JAVA

    Integration with Defect Tracking tool (JIRA)

    Customized Result

     Template based approch

    Capture screen shot for Failure steps

    Database Testing

    Hybrid Framework

    Report Output type(PDF/EXCEL/HTML)

    Concurrent execution

    Web service Testing

    Script Editor

    Interface for Auto-Email

    Single solution

    (UI, Web Service & Database)

    Integration with BMT

    (Jenkins and Hudson)

    Scheduler

    Report Comparison

    (Excel, PDF, TEXT, CSV)

    Technology Plug-ins

    (Mainframe/Swing/WPF/Flex/

    NexaWeb/Web Service)

    Object Map

    Cross Browser Certification

    (IE, Chrome, Firefox)

    Integration with Test Management Tool

    (Test Link)

    Debug

    HTML 5.0 Support

    Version control

  • 45 mins
    Talk
    Intermediate

    Gone are the days where digital channels were few, predominantly web with one or two browsers. The scenario is different today, not only do we have multiple channels like web and mobile (iOS & Android), we also have different browsers and localization settings. In this scenario, the traditional testing models are rendered inefficient and at times even ineffective.

    Having worked with Global brands and delivered Omni-Channel Digital Testing for them over the years, we have developed a framework that makes this testing efficient and assures effectiveness.
    Valtech’s Digital Testing Framework uses PageObject-Design pattern for more maintainability, localization, environment compatibility (Selenium+Appium APIs), easy execution, user-friendly reporting and integration with CI and seamlessly aligns with Agile Methodology.

    If would like to know more, do attend our demo at the Selenium Conference 2014.

     

  • Liked Prabu
    keyboard_arrow_down

    Prabu - A Non-conventional automation approach to truly shift left by taking scripting out of the equation

    45 mins
    Demonstration
    Beginner

    Organizations in their quest for accelerated and bug free software delivery are increasingly moving towards the use of Agile development methodology.
    However, maximizing the benefits of Agile software development requires software development and testing to begin concurrently. Agile specific challenges, such as frequently changing project scope, requirement of frequent builds to sustain rapid sprints, minimal documentation and the need for active stakeholder involvement makes development and maintenance of automation scripts all the more difficult.
    In our view, unlike the traditional automation approaches, a non-conventional approach that takes scripting out of the equation while continuing to provide the power and flexibility of a scripted approach can avoid these obstacles plaguing agile automation.
    In this session, we will present a live demo and talks about how wireframe-based navigation can be converted to automation scripts and then to Manual test cases.

  • Liked Rajnikant Jha
    keyboard_arrow_down

    Rajnikant Jha - Practicality of Running Selenium Scripts on Cloud

    45 mins
    Demonstration
    Intermediate

    With increasing number and combinations of configurations to be covered in testing of Web and mobile applications, it is becoming apparently difficult to maintain own farm of machines. Organizations are adopting virtualization and cloud-based technologies to reduce costs and increase efficiency.

    To run tests in parallel requires two things: an infrastructure to distribute the tests and a framework that will run these tests in parallel in the given infrastructure.

    Selenium Grid is one option which transparently distributes our tests across multiple physical or virtual machines. But Selenium Grid has its own limitations. With use of Custom Execution Grid to run test in parallel, we can achieve our goal of effective parallel execution.

    In this talk you will learn from our multiple year experience on how to run Selenium on Cloud. Giving you real examples from our history of serving many customers, we will give the good, bad and the ugly of private our public cloud - use of Selenium grid or creating your own grid

  • Liked Justin Ison
    keyboard_arrow_down

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

    Justin Ison
    Justin Ison
    Senior Software Engineer
    Microsoft
    schedule 3 years ago
    Sold Out!
    30 mins
    Demonstration
    Intermediate

    At 6Wunderkinder, the maker of the Wunderlist app, we have customers whom use our app on many different platforms. It's imperative that our client apps each work perfectly together, and with our server in complete harmony. When unit and functional tests aren't enough, full end-to-end integration tests are needed so we've harnessed the awesome power of Selenium and Appium to accomplish this.

  • Liked Ivan Shubin
    keyboard_arrow_down

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

    60 mins
    Demonstration
    Intermediate

    iPhone 3g, iPhone 4s, iPhone 5s, Samsung Galaxy, Samsung Galaxy Note, IE, Chrome, Firefox etc... Can you automate layout testing for these with one test?
    At eBay we had to refine our strategy for responsive design implementation. As part of that we wanted to build a stable automated test set that would cover layout testing on multiple screen resolutions. Now whenever there is a small change to a CSS that breaks the design on some specific resolutions - we notice it right away. Do you also have to test your website on different devices? Would you like to automate that and save time? It's easy as 1, 2, 3: write your Selenium test (with a bit of magic of Galen), include it in your continuous integration environment (e.g. Jenkins), get feedback with detailed reports.
    In this presentation we would like to show you how to build a stable solution for testing responsive layout with an open sourced tool Galen Framework. We'll introduce you to Test Driven Development for Responsive Design. We'll show you how to execute tests in Selenium Grid to cover the browser compatibility testing and how we adapted the responsive layout testing at eBay.

  • Liked Amit Rawat
    keyboard_arrow_down

    Amit Rawat - Testing of Responsive Web Applications using Appium and WebDriver API

    60 mins
    Tutorial
    Intermediate

    All the modern web applications uses HTML5 and RWD (Responsive Web Design) to have an optimal viewing experience across a wide range of devices (from mobile phones to desktop computer monitors). Automating these applications and running the scripts on different devices is a bigger challenge.

    How Appium and Selenium WebDriver API can be used to automate these applications and can also address all the challenges like:

    1. Running the Webdriver scripts on iOS Safari and Android Chrome with minimal changes to the scripts.

    2. Working with the Responsive web elements and validating their size and layout on different devices and viewports.

    3. Automating complex gestures like Swipe, Tap, Pull to refresh etc.

    4. Working with HTML5 based geo-locations and simulating the Mobile network bandwidth and latency using Browsermob