Where we learn technology

Month: December 2017 (Page 1 of 2)

Selenium & Java Training – WeekEnd Batch

Selenium & Java Training Course Content (WeekEnd Batch)


Next Batch Starting from: 7th Jan, 2017

Duration: 2 months

Registration Fee: 3000 INR (60 USD)

Location: Online

Timings: 
  • 9:00 AM IST (Indian Time)
  • 10:30 PM EST (Eastern Time)
  • 7:30 PM PST (Pacific Time)

    Note:
    • There will be 2 demo sessions. If you don’t like the sessions or if you want to leave. Full Registration amount will be transferred back to you.

    • After 2 demo sessions, pending amount (13000 INR/290 USD) must be paid.

    Selenium WebDriver – 3 is a leading web automation testing tool in industry. It is one of the most popular tool. Selenium WebDriver jobs are on a rise and are highly paid and highly valued. Industry is shifting towards automation rapidly.
    Today, every start up, product based and service based companies need Automation QA Engineer to automate their web apps.
    With more and more applications becoming accessible through browser it becomes very important to learn Selenium WebDriver.
    This course is designed to teach in depth concepts of Selenium WebDriver 3 and Java. We focus on the basics first and then move towards the advance concepts of Selenium, Java and framework development.
    Part -1: Basics of Java & Selenium
    1) Automation : A brief introduction to automation and the need for automation. How automation will enable you to beat competition and make you get the better jobs in market.
    • What is Automation Testing
    • Use of automation Testing
    • Tools for Automation Testing
    • Why automation is important for you career?
    • What is Selenium
    • Advantage of Selenium
    • Introduction to IDE, RC WebDriver & Grid
    • Interview Questions
    2) Core Java/Programming : This class will set you up for understanding Basic OOPs and java concepts. These concepts will be extremely important for you to become a good Automation tester. This section is specially designed so that can be followed by any Manual test very easily.
    • Data Types and Variables
    • String Class
    • Arithmetic Operators & Concatenation operators
    • Conditional & Decision Making
    • Single Dimensional Array
    • Double Dimensional Array
    • Loops (For, While)
    • Classes and Objects
    • Class Constructors
    • Functions in Java 
    • Function Input Parameters 
    • Function Return Types
    • Inheritance
    • Polymorphism
    • Method Overloading
    • Method Overriding
    • Abstract class
    • Interface
    • Super/This Keywords
    • Final/Finally/Finalize Keywords
    • Wrapper Classes
    • String Manipulation
    • Collections Basics (Array List, HashMap, HashTable)
    • Interview Questions
    3) Eclipse IDE : This topic might seem little off place here but it’s very important topic to understand the tool you are using. Eclipse will the primary choice of development environment and we will discuss features of eclipse here.
    • How to use Eclipse
    • How to run, stop, pause
    • How to debug in Eclipse
    • Understanding console output
    • How to put a break point
    • How to add Watch variables
    • How to find errors from Problem window
    • Usage of step into and Step over debug functionality
    • Interview Questions
    4) Set up Eclipse : We will start with setting up WebDriver, so that every participant start flaunting off their newly learnt skills by writing some cool test programs:
    • Download and install java
    • Download and start Eclipse
    • Download and configure WebDriver java client
    • Set up a project
    • Create packages
    • Create a First Java test case
    • Import WebDriver Source file
    • Interview Questions
    5) WebDriver Interface : This topic will make you familiar with the concept of browsers in WebDriver and how to launch basic Firefox browser using WebDriver. Here we will also talk about WebDriver & WebElement interface which will enable us to answer many complicated Interview Questions about WebDriver Implementation.
    • Architecture of WebDriver
    • WebDriver Interface
    • WebElement Interface
    • Launching Firefox/Chrome/Safari
    • Interview Questions
    6) Browser & Navigation Commands : This is something which everybody do very first thing when they learn Selenium. Opening & closing of browser and some navigation function on top of it.
    • How to Open a URL
    • Verify Page title
    • Strategy to get the Page Source 
    • Difference between Close & Quit
    • Ways to Navigate Back & Forward
    • How to Refresh Page
    • Another way of Navigating to specific Page
    • Interview Questions
    7) WebElement Commands : An important and basic need of Selenium Automation. This part enables every participant to start writing automation test in their organizations. These are the most commonly used operations on any website.
    • Difference between FindElement & FindElements
    • Enter & Clear text from Input field
    • How Click action works differently on different elements
    • Managing Input fields, Buttons & Links
    • Finding all links on the Page
    • Strategy to check dead links on the page
    • Extracting More than one object from a page 
    • Extracting Objects from a specific area of a web page 
    • Check if element is Present, Displayed, Enabled or Selected
    • Interview Questions
    8) Locators : In this class we will start learning about HTML, how elements are defined inside HTML document and what are the different attributes that are associated with an HTML element. We also try to find elements based on its attribute values.
    • What are locators
    • HTML Basics
    • HTML language tags and attributes 
    • ID, Name, Xpath, CSS etc
    • Difference between Absolute & Complete Xpath
    • Finding your first element
    • WebElement Commands
    • Interview Questions
    9) Element Identification : This part explains the lifesaver Add-Ons & tools for Selenium. Finding elements are the most common activity carried out in Selenium. These tools give us power to easily identify complex elements and help us in saving lot of time.
     Element Inspector in Mozilla, Chrome and IE
    • Element locator tool for FF
    • FireBug & FirePath Add-Ons in Mozilla 
    • Various HTML locator strategies
    • XPath Helper Plug-in for Chrome
    • Selection of Effective XPath
    • Handling Dynamic objects/ids on the page
    • Interview Questions
    10) Tables, Checkboxes & Radio buttons : Many applications involve use of web tables and list boxes. These skills will help participant to get the expertise on complex tables structures and write effective automation test.
    • Identify table rows and columns
    • Extracting values from a cell
    • Dynamically Identify Tables Data
    • Select class in Selenium
    • Drop Down Handle
    • Select multiple values from the list
    • Select & Deselect operations by Index, Value & Visible Text
    • Interview Questions
    11) Selenium Waits, Alert & Switch Windows : A little complexity will start now onwards. To use Waits effective is very important for every automation tester. Wait helps us in switching windows, handling pop-ups, operating alerts correctly.
    • Implicit and Explicit waits
    • How to use Expected Conditions with Waits
    • PageLoadTimeout & SetScriptTimeout property
    • Simple use of Thread Sleep
    • Concept of Fluent Wait in Selenium 
    • Strategy to poll for an object
    • WebDriverWait and its uses 
    • Different WaitUntil Conditions 
    • Managing Ajax based components 
    • Ways to handle Simple, Confirmation & Prompt Alert
    • Concepts of Set Interface in Java 
    • Difference between Window Handle & Handles 
    • Switching & Closing Windows, Tabs & PopUps
    • Concept of window ID 
    • Extracting window IDs with Selenium Object reference
    • Interview Questions
    12) Action Class
    This gives us power on recently build Application with latest and complex object features. Hovering mouse or simulate Mouse and Keyword operations can be done by using Action Class. A necessary thing to learn in Selenium journey.
    • What is Action Class & What can we do with Action Class
    • Mouse Hover & Mouse Movement with Action
    • Finding Coordinates of a Web Object
    • Drag and Drop Action
    • Interview Questions
    13) Browser Profile: Different types of browser profiles and user authentication models with examples will be discussed in this class. You will need these to test secured websites and user authenticated websites.
    • What is Browser Profile
    • How to set up FireFox profile
    • Interview Questions
    Part -2: Advanced Selenium
    14) TestNG Framework
    TestNG is a wonderful off the shelf framework that can be used directly to create your test framework. We will learn about this framework here.
    • What is TestNG
    • Benefits and Features of TestNG
    • How to download TestNG
    • Annotations in TestNg
    • How to run Test Suite in TestNG
    • Groups in TestNG
    • Depend On in TestNG
    • Test Case sequencing in TestNG
    • TestNG Reporters
    • TestNG Assets
    • TestNG Parameters
    • Multi Browser testing in TestNG
    • Parallel testing in TestNG
    • Interview Questions
    15) Automation Framework
    This class will cover the concepts of Frameworks. After this the participant would got to know that which type of Framework works best for their Application and the pros & cons of the selected framework. Knowledge of frameworks is key skill to learn.
    • What is Automation Framework
    • Features of Automation Framework
    • Benefits of using Automation Framework
    • Different types of Automation Framework
    • What is Data Driven Framework
    • What is Hybrid Framework
    • What is Page Object Model Design Pattern
    • Interview Questions
    •  
    16) Real Time Live PROJECT – Selenium Hybrid Framework (POM)
    In this class we will explore some major frameworks by looking at the code and understanding the key component of the framework. A demo website will be taken and framework will be built on top of that which will simulate actual project scenario.
    • Introduction and Component of Frameworks
    • Designing Test Data Provider (Excel)
    • Designing Run Data Provider (Text/Property file) 
    • Setting up Maven Build Tool
    • Data Provider Factory Design
    • Creating Page Objects & Object repository
    • Writing Test Script and Fetching Test Data
    • Designing Test Runner for Framework
    • Asserts, Test Fails & Error logging
    • Reporters, TestNG Listeners and Log file Generation
    • Running test with different Test Data
    • Generating the HTML reports 
    • Emailing test reports 
    • Interview Questions


    17) Dev Ops & Continuous Integration
    • Jenkins Setup
    • Running Script via Jenkins
    • Report Generation using Extent Report
    • GIT Repo/GIT HUB
    • My First Code Check-in to GIT
    • Interview Questions
    18) Interview Preparation/Mock Interviews/Live Sessions
    19) Life Time Access on all YouTube Videos


    Cheers!
    Naveen AutomationLabs

    Selenium & Java Training Course Content – Regular Batch (22nd April 2019)

    Selenium & Java Training Course Content


    Hi Folks,

    Please enrol ASAP.  🙂 This time I’m introducing some amazing content on Java, Selenium and some different approaches on Framework Designing. This will be very different from my YouTube channel. 

    After a very high demand on Java+Selenium training, Here I’m going to start next batch (8:15 AM IST to 9:15 AM IST) from 14th March 2019. 

    Selenium + Java Course Training – By Naveen AutomationLabs


    Thanks for registering “Selenium & Java Sessions” By Naveen AutomationLabs. As per the further registration process, you need to pay the 3000 INR (50 USD) as a registration fee.

    Next Batch Starting from: 22nd April, 2019 Duration: 5-6 weeks


    Registration Fee: 3000 INR (50 USD)


    Total Fee: 

    • 16,500 INR (for Candidates in India) – including Registration Fee

    • 310 USD (for Candidates in USA/UK/AUS/Europe) – including Registration Fee

    Location: Online (Goto Meeting) Classes


    Timings: (Monday to Friday)

    • 7:00 AM IST (Indian Time)

    Note:

    • There will be 2 demo sessions.
    • After 2 demo sessions, pending amount (13,500 INR OR 260 USD) must be paid.

    ~~~ For more information, please refer this course content: Please fill your details here:

    Here I’m sharing the bank account details. Please send me the receipt once you make the payment without fail.

    Please find below bank details: You can make the transaction directly to the given account or make it via Western Union or XOOM.

    Bank Details:
    Name
    MANALI GUPTA
    To Account
    256010100095576
    Bank Name
    AXIS BANK
    City
    GUJARAT
    Branch Location
    PALANPUR, GUJRAT 

    IFSC Code: UTIB0000256     
    For Candidates in India:
    You can make the payment via Tez (Google PAY) UPI also to this number: +91-9902233400. UPI: naveenanimation20@okicici OR Google IDnaveenanimation20@gmail.com


    Note:

    • There will be 2 demo sessions. In case If you don’t like the sessions or if you want to leave. Full Registration amount will be transferred back to you after 2 sessions.
    • After 2 demo sessions, pending amount must be paid.
    • I’ll share the meeting id with URL to join the session before the training everyday.


      Course Content:

      Selenium WebDriver – 3 is a leading web automation testing tool in industry. It is one of the most popular tool. Selenium WebDriver jobs are on a rise and are highly paid and highly valued. Industry is shifting towards automation rapidly.
      Today, every start up, product based and service based companies need Automation QA Engineer to automate their web apps.
      With more and more applications becoming accessible through browser it becomes very important to learn Selenium WebDriver.
      This course is designed to teach in depth concepts of Selenium WebDriver 3 and Java. We focus on the basics first and then move towards the advance concepts of Selenium, Java and framework development.
      Part -1: Basics of Java & Selenium
      1) Automation : A brief introduction to automation and the need for automation. How automation will enable you to beat competition and make you get the better jobs in market.
      • What is Automation Testing
      • Use of automation Testing
      • Tools for Automation Testing
      • Why automation is important for you career?
      • What is Selenium
      • Advantage of Selenium
      • Introduction to WebDriver
      2) Core Java/Programming : This class will set you up for understanding Basic OOPs and java concepts. These concepts will be extremely important for you to become a good Automation tester. This section is specially designed so that can be followed by any Manual test very easily.
      • Data Types and Variables
      • String Class
      • Arithmetic Operators & Concatenation operators
      • Conditional & Decision Making
      • Single Dimensional Array
      • Loops (For, While)
      • Classes and Objects
      • Class Constructors
      • Functions in Java 
      • Function Input Parameters 
      • Function Return Types
      • Inheritance
      • Polymorphism
      • Method Overloading
      • Method Overriding
      • Abstract class
      • Interface
      • Super/This Keywords
      • Final/Finally/Finalize Keywords
      • Wrapper Classes
      • String Manipulation
      • Collections Basics (Array List, HashMap)
      • Interview Questions
      3) Eclipse IDE : This topic might seem little off place here but it’s very important topic to understand the tool you are using. Eclipse will the primary choice of development environment and we will discuss features of eclipse here.
      • How to use Eclipse
      • How to run, stop, pause
      • How to debug in Eclipse
      • Understanding console output
      • How to put a break point
      • How to add Watch variables
      • How to find errors from Problem window
      • Usage of step into and Step over debug functionality
      • Interview Questions
      4) Set up Eclipse : We will start with setting up WebDriver, so that every participant start flaunting off their newly learnt skills by writing some cool test programs:
      • Download and install java
      • Download and start Eclipse
      • Download and configure WebDriver java client
      • Set up a project
      • Create packages
      • Create a First Java test case
      • Import WebDriver Source file
      • Interview Questions
      5) WebDriver Interface : This topic will make you familiar with the concept of browsers in WebDriver and how to launch basic Firefox browser using WebDriver. Here we will also talk about WebDriver & WebElement interface which will enable us to answer many complicated Interview Questions about WebDriver Implementation.
      • Architecture of WebDriver
      • WebDriver Interface
      • WebElement Interface
      • Launching Firefox/Chrome/Safari
      • Interview Questions
      6) Browser & Navigation Commands : This is something which everybody do very first thing when they learn Selenium. Opening & closing of browser and some navigation function on top of it.
      • How to Open a URL
      • Verify Page title
      • Strategy to get the Page Source 
      • Difference between Close & Quit
      • Ways to Navigate Back & Forward
      • How to Refresh Page
      • Another way of Navigating to specific Page
      • Interview Questions
      7) WebElement Commands : An important and basic need of Selenium Automation. This part enables every participant to start writing automation test in their organizations. These are the most commonly used operations on any website.
      • Difference between FindElement & FindElements
      • Enter & Clear text from Input field
      • How Click action works differently on different elements
      • Managing Input fields, Buttons & Links
      • Finding all links on the Page
      • Extracting More than one object from a page 
      • Extracting Objects from a specific area of a web page 
      • Check if element is Present, Displayed, Enabled or Selected
      • Interview Questions
      8) Locators : In this class we will start learning about HTML, how elements are defined inside HTML document and what are the different attributes that are associated with an HTML element. We also try to find elements based on its attribute values.
      • What are locators
      • HTML Basics
      • HTML language tags and attributes 
      • ID, Name, Xpath, CSS etc
      • Difference between Absolute & Complete Xpath
      • Finding your first element
      • WebElement Commands
      • Interview Questions
      9) Element Identification : This part explains the lifesaver Add-Ons & tools for Selenium. Finding elements are the most common activity carried out in Selenium. These tools give us power to easily identify complex elements and help us in saving lot of time.
       Element Inspector in Mozilla, Chrome and IE
      • Element locator tool for FF
      • Various HTML locator strategies
      • XPath Helper Plug-in for Chrome
      • Selection of Effective XPath
      • Handling Dynamic objects/ids on the page
      • Interview Questions
      10) Tables, Checkboxes & Radio buttons : Many applications involve use of web tables and list boxes. These skills will help participant to get the expertise on complex tables structures and write effective automation test.
      • Identify table rows and columns
      • Extracting values from a cell
      • Dynamically Identify Tables Data
      • Select class in Selenium
      • Drop Down Handle
      • Select multiple values from the list
      • Select & Deselect operations by Index, Value & Visible Text
      • Interview Questions
      11) Selenium Waits, Alert & Switch Windows : A little complexity will start now onwards. To use Waits effective is very important for every automation tester. Wait helps us in switching windows, handling pop-ups, operating alerts correctly.
      • Implicit and Explicit waits
      • How to use Expected Conditions with Waits
      • PageLoadTimeout & SetScriptTimeout property
      • Simple use of Thread Sleep
      • Concept of Fluent Wait in Selenium 
      • Strategy to poll for an object
      • WebDriverWait and its uses 
      • Different WaitUntil Conditions 
      • Managing Ajax based components 
      • Ways to handle Simple, Confirmation & Prompt Alert
      • Concepts of Set Interface in Java 
      • Difference between Window Handle & Handles 
      • Switching & Closing Windows, Tabs & PopUps
      • Concept of window ID 
      • Extracting window IDs with Selenium Object reference
      • Interview Questions
      12) Action Class
      This gives us power on recently build Application with latest and complex object features. Hovering mouse or simulate Mouse and Keyword operations can be done by using Action Class. A necessary thing to learn in Selenium journey.
      • What is Action Class & What can we do with Action Class
      • Mouse Hover & Mouse Movement with Action
      • Finding Coordinates of a Web Object
      • Drag and Drop Action
      • Interview Questions
      13) Browser Profile: Different types of browser profiles and user authentication models with examples will be discussed in this class. You will need these to test secured websites and user authenticated websites.
      • What is Browser Profile
      • How to set up FireFox profile
      • Interview Questions
      Part -2: Advanced Selenium
      14) TestNG Framework
      TestNG is a wonderful off the shelf framework that can be used directly to create your test framework. We will learn about this framework here.
      • What is TestNG
      • Benefits and Features of TestNG
      • How to download TestNG
      • Annotations in TestNg
      • How to run Test Suite in TestNG
      • Groups in TestNG
      • Depend On in TestNG
      • Test Case sequencing in TestNG
      • TestNG Reporters
      • TestNG Assets
      • TestNG Parameters
      • Multi Browser testing in TestNG
      • Parallel testing in TestNG
      • Interview Questions
      15) Automation Framework
      This class will cover the concepts of Frameworks. After this the participant would got to know that which type of Framework works best for their Application and the pros & cons of the selected framework. Knowledge of frameworks is key skill to learn.
      • What is Automation Framework
      • Features of Automation Framework
      • Benefits of using Automation Framework
      • Different types of Automation Framework
      • What is Data Driven Framework
      • What is Hybrid Framework
      • What is Page Object Model Design Pattern with Page Factory and Non Page Factory with OOP concepts
      • Interview Questions 
      16) Real Time Live PROJECT – Selenium Hybrid Framework (POM)
      In this class we will explore some major frameworks by looking at the code and understanding the key component of the framework. A demo website will be taken and framework will be built on top of that which will simulate actual project scenario.
      • Introduction and Component of Frameworks
      • Designing Test Data Provider (Excel)
      • Designing Run Data Provider (Text/Property file) 
      • Setting up Maven Build Tool
      • Data Provider Factory Design
      • Creating Page Objects & Object repository
      • Writing Test Script and Fetching Test Data
      • Designing Test Runner for Framework
      • Asserts, Test Fails & Error logging
      • Reporters, TestNG Listeners and Log file Generation
      • Running test with different Test Data
      • Generating the HTML reports 
      • Emailing test reports 
      • Interview Questions


      17) Dev Ops & Continuous Integration
      • Jenkins Setup Basics
      • Running Script via Jenkins
      • Report Generation using Extent Report
      • GIT Repo/GIT HUB
      • GIT PULL Request Process
      • CheckIn-CheckOut Process
      • Push and Pull Commands
      • Learn how to use commit command
      • What is cloning in GIT
      • My First Code Check-in to GIT
      • Interview Questions
      18) Interview Preparation/Mock Interviews/Live Sessions
      19) Life Time Access on all YouTube Videos


      Frequently Asked Questions:
      Q1: Can I get all the recordings for these sessions?
      Ans: Yes, you will get all the recordings daily basis for the specific topic.

      Q2: Is this training useful for freshers?

      Ans: 100% useful for freshers, who are looking for to start their career into automation QA field.

      Q3: Is this training useful for Manual Testers?

      Ans: 100% useful for Manual QA folks, it will surely help to trigger your interest from manual QA to Automation QA. After this training, you will become an expert in automation. 

      Q4: Can I justify my automation experience, after this training?

      Ans: Yes, training is designed like this only. You can easily justify 2+ yrs of exp in automation after this training.

      Q5: Can I crack selenium interviews after this training?

      Ans: Yes, 100% guarantee. 

      Q6: What is the duration of this course?

      Ans: I never compromise in training content and syllabus. It depends how exactly we are going with this training. Ideally it should take 6-7 weeks. It can take more than this also.

      Q7: Who will be the trainer?

      Ans: Only Naveen from Naveen AutomationLabs.

      Q8: Will this training be different from existing YouTube videos?

      Ans: Yes, it will be in-depth training and more topics will be covered with different scenarios.

      Q9: What if I miss any session?

      Ans: You will get each session recording daily basis. You can cover that session after watching the recordings. 


      Cheers~
      Naveen AutomationLabs

      Collections in Java

      Collections in Java

      All the operations that you perform on a data such as searching, sorting, insertion, manipulation, deletion etc. can be performed by Java Collections.Collections in java is a framework that provides an architecture to store and manipulate the group of objects.
      Java Collection simply means a single unit of objects. Java Collection framework provides many interfaces (Set, List, Queue, Deque etc.) and classes (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet etc).

      What is Collection in java

      Collection represents a single unit of objects i.e. a group.

      What is framework in java

      • provides readymade architecture.
      • represents set of classes and interface.
      • is optional.

      What is Collection framework

      Collection framework represents a unified architecture for storing and manipulating group of objects. It has:
      1. Interfaces and its implementations i.e. classes
      2. Algorithm


      Hierarchy of Collection FrameworkLet us see the hierarchy of collection framework.The java.util package contains all the classes and interfaces for Collection framework.
      hierarchy of collection framework


      Methods of Collection interface

      There are many methods declared in the Collection interface. They are as follows:
      No. Method Description
      1 public boolean add(Object element) is used to insert an element in this collection.
      2 public boolean addAll(Collection c) is used to insert the specified collection elements in the invoking collection.
      3 public boolean remove(Object element) is used to delete an element from this collection.
      4 public boolean removeAll(Collection c) is used to delete all the elements of specified collection from the invoking collection.
      5 public boolean retainAll(Collection c) is used to delete all the elements of invoking collection except the specified collection.
      6 public int size() return the total number of elements in the collection.
      7 public void clear() removes the total no of element from the collection.
      8 public boolean contains(Object element) is used to search an element.
      9 public boolean containsAll(Collection c) is used to search the specified collection in this collection.
      10 public Iterator iterator() returns an iterator.
      11 public Object[] toArray() converts collection into array.
      12 public boolean isEmpty() checks if collection is empty.
      13 public boolean equals(Object element) matches two collection.
      14 public int hashCode() returns the hashcode number for collection.

      Iterator interface

      Iterator interface provides the facility of iterating the elements in forward direction only. 

      Methods of Iterator interface

      There are only three methods in the Iterator interface. They are:

      No. Method Description
      1 public boolean hasNext() It returns true if iterator has more elements.
      2 public Object next() It returns the element and moves the
      cursor pointer to the next element.
      3 public void remove() It removes the last elements returned by the iterator.
      It is rarely used.

      Exceptions that may happen in all the Selenium WebDriver code

      Exceptions that may happen in all the webdriver code.

      selenium.common.exceptions

      exception selenium.common.exceptions.ElementClickInterceptedException(msg=None, screen=None, stacktrace=None)[source]
      The Element Click command could not be completed because the element receiving the events is obscuring the element that was requested clicked.
      exception selenium.common.exceptions.ElementNotInteractableException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when an element is present in the DOM but interactions with that element will hit another element do to paint order
      exception selenium.common.exceptions.ElementNotSelectableException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when trying to select an unselectable element.
      For example, selecting a ‘script’ element.
      exception selenium.common.exceptions.ElementNotVisibleException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when an element is present on the DOM, but it is not visible, and so is not able to be interacted with.
      Most commonly encountered when trying to click or read text of an element that is hidden from view.
      exception selenium.common.exceptions.ErrorInResponseException(response, msg)[source]
      Thrown when an error has occurred on the server side.
      This may happen when communicating with the firefox extension or the remote driver server.
      exception selenium.common.exceptions.ImeActivationFailedException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when activating an IME engine has failed.
      exception selenium.common.exceptions.ImeNotAvailableException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when IME support is not available. This exception is thrown for every IME-related method call if IME support is not available on the machine.
      exception selenium.common.exceptions.InsecureCertificateException(msg=None, screen=None, stacktrace=None)[source]
      Navigation caused the user agent to hit a certificate warning, which is usually the result of an expired or invalid TLS certificate.
      exception selenium.common.exceptions.InvalidArgumentException(msg=None, screen=None, stacktrace=None)[source]
      The arguments passed to a command are either invalid or malformed.
      exception selenium.common.exceptions.InvalidCookieDomainException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when attempting to add a cookie under a different domain than the current URL.
      exception selenium.common.exceptions.InvalidCoordinatesException(msg=None, screen=None, stacktrace=None)[source]
      The coordinates provided to an interactions operation are invalid.
      exception selenium.common.exceptions.InvalidElementStateException(msg=None, screen=None, stacktrace=None)[source]
      exception selenium.common.exceptions.InvalidSelectorException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when the selector which is used to find an element does not return a WebElement. Currently this only happens when the selector is an xpath expression and it is either syntactically invalid (i.e. it is not a xpath expression) or the expression does not select WebElements (e.g. “count(//input)”).
      exception selenium.common.exceptions.InvalidSessionIdException(msg=None, screen=None, stacktrace=None)[source]
      Occurs if the given session id is not in the list of active sessions, meaning the session either does not exist or that it’s not active.
      exception selenium.common.exceptions.InvalidSwitchToTargetException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when frame or window target to be switched doesn’t exist.
      exception selenium.common.exceptions.JavascriptException(msg=None, screen=None, stacktrace=None)[source]
      An error occurred while executing JavaScript supplied by the user.
      exception selenium.common.exceptions.MoveTargetOutOfBoundsException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when the target provided to the ActionsChains move() method is invalid, i.e. out of document.
      exception selenium.common.exceptions.NoAlertPresentException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when switching to no presented alert.
      This can be caused by calling an operation on the Alert() class when an alert is not yet on the screen.
      exception selenium.common.exceptions.NoSuchAttributeException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when the attribute of element could not be found.
      You may want to check if the attribute exists in the particular browser you are testing against. Some browsers may have different property names for the same property. (IE8’s .innerText vs. Firefox .textContent)
      exception selenium.common.exceptions.NoSuchCookieException(msg=None, screen=None, stacktrace=None)[source]
      No cookie matching the given path name was found amongst the associated cookies of the current browsing context’s active document.
      exception selenium.common.exceptions.NoSuchElementException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when element could not be found.
      If you encounter this exception, you may want to check the following:
      • Check your selector used in your find_by…
      • Element may not yet be on the screen at the time of the find operation, (webpage is still loading) see selenium.webdriver.support.wait.WebDriverWait() for how to write a wait wrapper to wait for an element to appear.
      exception selenium.common.exceptions.NoSuchFrameException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when frame target to be switched doesn’t exist.
      exception selenium.common.exceptions.NoSuchWindowException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when window target to be switched doesn’t exist.
      To find the current set of active window handles, you can get a list of the active window handles in the following way:
      print driver.window_handles
      exception selenium.common.exceptions.RemoteDriverServerException(msg=None, screen=None, stacktrace=None)[source]
      exception selenium.common.exceptions.ScreenshotException(msg=None, screen=None, stacktrace=None)[source]
      A screen capture was made impossible.
      exception selenium.common.exceptions.SessionNotCreatedException(msg=None, screen=None, stacktrace=None)[source]
      A new session could not be created.
      exception selenium.common.exceptions.StaleElementReferenceException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when a reference to an element is now “stale”.
      Stale means the element no longer appears on the DOM of the page.
      Possible causes of StaleElementReferenceException include, but not limited to:
      • You are no longer on the same page, or the page may have refreshed since the element was located.
      • The element may have been removed and re-added to the screen, since it was located. Such as an element being relocated. This can happen typically with a javascript framework when values are updated and the node is rebuilt.
      • Element may have been inside an iframe or another context which was refreshed.
      exception selenium.common.exceptions.TimeoutException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when a command does not complete in enough time.
      exception selenium.common.exceptions.UnableToSetCookieException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when a driver fails to set a cookie.
      exception selenium.common.exceptions.UnexpectedAlertPresentException(msg=None, screen=None, stacktrace=None, alert_text=None)[source]
      Thrown when an unexpected alert is appeared.
      Usually raised when when an expected modal is blocking webdriver form executing any more commands.
      exception selenium.common.exceptions.UnexpectedTagNameException(msg=None, screen=None, stacktrace=None)[source]
      Thrown when a support class did not get an expected web element.
      exception selenium.common.exceptions.UnknownMethodException(msg=None, screen=None, stacktrace=None)[source]
      The requested command matched a known URL but did not match an method for that URL.
      exception selenium.common.exceptions.WebDriverException(msg=None, screen=None, stacktrace=None)[source]
      Base webdriver exception.
      Cheers!
      Naveen AutomationLabs

      Top 10 challenges of maintaining the mobile device lab

      Top 10 challenges of maintaining the mobile device lab





      This post is the continuation of the same topic and will talk about the challenges of maintaining a mobile device lab.
      Identifying and procuring the right devices for the testing need is an important first step. However, it is just the start of a continuous maintenance cycle. It is not uncommon to have around 30-40 in-house devices in the team. Maintaining these devices is a massive challenge in itself. Let us explore some of the problems of maintaining a device lab for the mobile app testing.

      1. Mobile devices can go missing easily, secure them

      Let me be clear, by implying security of the devices as a maintenance issue, I am not suggesting that people working in the office are thieves and you should start doubting them. Some of the high-end mobile devices are very expensive, and if there is a significant number of devices, it just makes sense to think about the security of these devices. There may be security breaches or accidental misplacement in the absence of a sensible security policy. Also, a defined security policy would make it easier for everyone to find and access these devices when needed.

      2. It is difficult to find a device with the right configuration, label them

      Imagine if you need to find an iPhone 5s with iOS 8.4.1 version in a maze of iPhone device. In the absence of any labelling system in place, it would take a while to find the right device for the right version of iOS. If you, and your teammates, have to spend 10-15 minutes every time you need a device, it is a waste. It would be good to have vital information about the device, such as OS version, device name, model number, storage, etc. on a label that can be stuck on the device. If you have a rack where you can store these devices, you might want to organise these racks according to devices, OS, and so on.

      3. Label on the device and the device configuration do not match, update labels frequently

      Putting labels on the devices is an important first step. However, it is important to ensure that labels are updated and do not give the wrong information. Most of the OSes and applications can push upgrades rather aggressively, and it is important to ensure that test devices maintain the version numbers they are provisioned for and not upgraded frequently. If devices are upgraded, it should happen consciously, as a managed task that should only be considered done when the label associated with the device is also updated. It would be nice to automate this process, maybe with an app that can send device information to a confluence page periodically? In case you want to build one, here is an idea 🙂

      4. Who has got the iPhone 4S with iOS 8? Maintain register

      People often have a legitimate need to take the device to their desk, or even out of the office. In the absence of a device register, that can give us information on who has got a device; It would be very tricky for the team to get hold of the devices they need. It might feel that maintaining a device register and asking your teammates to sign-in and out every time they take a device for testing is overkill, however, It might bring accountability and predictability in the team. Defining a process and ensuring that everyone adheres to it would help a lot in keeping track of these devices that can get lost easily in an office corner. If resources permit, it is possible to take the pain out of this process by following an RFID-based approach that Etsy use to track the devices in use.

      5. Device register goes out of date, make someone owner

      Maintaining a device register and ensuring that the right labels are used for the racks and devices is an essential process for the mobile testing lab. However, in the absence of an owner for this process, it might become a bit tricky to ensure that everything is in order. It might be useful to create a role (rotate it monthly, maybe?) that take ownership of auditing devices periodically. The primary goal of setting up the device lab is to be able to get the devices we need predictably and reliably. Making someone accountable would make it easier to ensure that devices are maintained as they should be.

      6. Devices you need are always flat, keep them connected

      A mobile device without any charge is as good as a brick! It is a significant challenge to ensure that the mobile devices we have for testing are charged and can be used when needed. Remember, some devices can take ages to come back to life if their battery is completely dead. Managing power cables for all these devices, considering that most of them are incompatible with each other, is another challenge.  A mobile device rack that can hold all the power cables connected to a USB hub for charging all the devices might work well. If you do have a solution like that in place and have your mobile devices at 100% charged all the time, make sure that you mimic low battery conditions as well. Mobile devices do act differently depending on the battery level.

      7. Can not install the test app from the TestFlight and Crashlytics, use the same account

      Many teams use systems like Fabric or TestFlight to distribute test versions of their applications to the internal or external beta testers. For these systems to work effectively, devices have to be logged in with an account that is registered or approved on the Fabric or TestFlight. These systems need to know who will get access to the application. It is important to ensure that all the test devices are logged in with the right account. If that is not the case, it might not be possible to install test versions on these devices when needed. A visible policy page (confluence or something) or a shared password manager can help solve this problem.

      8. Got the device, how do I unlock it? Share passcode or pattern

      In a mobile device testing lab with 30+ devices, it is impossible to imagine that everyone in the team will be able to remember the passcode or the pattern. We often use an easy to remember passcode such as 0000 or a pattern such as a horizontal line to ensure that it is easier for the team to remember it. Also, it might be worthwhile for the device auditor to check this time to time and ensure that it is still valid and updated.

      9. I can’t reproduce customer reported defects! Keep phones in the normal condition

      What is the normal condition for a mobile phone? Well, it turns out, there is not any normal condition. Some people have tonnes of apps, photos, videos, etc. and some people have hardly any. The number of apps, available storage space, and battery level vary considerably for different users. These variations can affect how much resources are allocated to your mobile apps and as a result, how it performs in the wild. It is impossible to mimic all the possible combinations of the storage, memory, background apps, and so on, however, we should ensure that all of the test devices in the lab are not on the factory settings. They should have some level of variations to represent some common patterns.

      10. Can’t access the Internet from the device. Remember reset

      During our day-to-day testing activities, we often need to configure mobile devices to use a proxy server such as Charles to see the traffic and manipulate the response mobile apps can receive. However, if they are not reset properly after testing, other people may not be able to connect to the network and waste time in figuring out that the device is configured to use a proxy that is no longer running. Remember, non-technical people might also need to use the devices to test or demo the applications, so it is a good idea to keep all the devices in good condition. Similarly, if regions, locals or time zone is changed, it may have an effect of the app and it might be tricky for people to identify and rectify the situation. A good rule of thumb would be to specify a base state and ensure that all the test devices are in the same state.
      These are some of the challenges I have encountered in maintaining a device testing lab. If you are managing or in the process of setting up a mobile testing lab, you might find this list useful. Also, it would be good to know the challenges you have faced and the ways in which you have solved them.  Please comment to share and discuss with all of us.
      Cheers!
      Naveen AutomationLabs 

      Top 7 QA and Testing Trends in 2018

      Top 7 QA and Testing Trends in 2018






      The QA (Quality Assurance) and the Software Testing industries have observed rapid evolutions in the recent past. This accounts for the emergence of several new & disruptive processes and technologies. To keep pace with the ever-changing trends and advancements in the QA and software testing fields, the businesses have the need to adapt to these rapidly shifting demographics as soon as possible. In addition to the various technological disruptions, the QA and Software fraternity are facing a plethora of challenges. Most businesses aim towards reduction of development duration as these impact release cycles and provides faster go to market.
      As these trends keep changing, here are some predictions that we believe the QA and Software Testing industry might have to face in the coming times:
      1. Looking Forward to Agile & DevOps
      Several organizations across the globe are adopting the agile and DevOps in their software creation & development. Involving programmers or the testers during the early stages of development and delivering a product in the market at a rapid rate is one of the biggest trend prediction. With help of agile testing, the testers might be able to respond to the upcoming challenges faster and in a better manner.
      The DevOps technique calls for delivery of seamless integrations as well as collaboration between several departments. As such, this engages the developers into the QA processes and thus, increases the speed of deployment and promotes higher ROI.
      2. Cloud & Mobile Applications will be on the Mainstream
      The application store approval method is becoming more simplified and straightforward nowadays. As such, the world will observe a boom in the hybrid applications, including both cloud & mobile applications, which would require the users to stay online & offline equally. The QA and Software Testing industry would observe more frequent testing of the mobile & cloud applications on a larger scale. These applications can be tested by the release of a beta version and then, followed by receiving a good feedback.
      The applications that interact with the cloud environment will also be a part of the hybrid application and will thus, play a major role in shaping the development of the QA and Software Testing industry. In the recent years, the world has observed substantial investments on the cloud-architecture based platforms with the help of AWS (Amazon Web Service) and Cloud Test Lab of Google. With the presence of such big names, there is expected a pressure built-up among the hybrid application developers & testers to deliver excellent applications.
      3. Automated Software Testing
      Until now, the majority of the companies of the world rely on manual testing methods and strategies. This tends to be more redundant and sometimes, fails to generate the desired results. To obtain the proper fit & response of the product market, the enterprises will have to shift towards automated software testing. This technique will help in the generation of instant and more accurate results. Moreover, the qualified QA engineers and professionals can now divert their attention to more complicated areas of QA and software testing.
      4. IoT Testing
      With the trend of IoT growing rapidly, several high-end customers now rely upon IoT testing before they use the products.  Testing in terms of their functionality, effectiveness, and security has to be appropriate so it will not come under the scanner.
      5. Web Test Automation
      Being the best in the QA services, web testing automation tool still remains one of the best ways towards test fixing instantly, speed releasing cycles, and the rapid evolving of the code to catch major defects and thus, not prolong the deployment of the same. This field still calls for a lot of improvements as several companies still run manual testing strategies and now, must think about adopting the web test automation techniques to expedite their services.
      However,web test automation should not be considered easy. It could be highly challenging for several vendors and thus, it must be closely tailored to suit the specific demands of all the customers. In addition to this, there is also a hike in the number of users who are worried about the QA team being not able to handle the newly developed solutions. To comfort them, a proper approach could be adopted.
      6. Automated API & Microservices Testing
      The world has observed the evolution of API & Micro Services as a result of the digital disruption. Several large-scale companies are asking for effective API & Micro Services testing strategies. The major issues in the current times are limited tool sets that offer capabilities to test API & Micro Services. The main question here is how to setup automated verification for data completeness, ensure quality and responsiveness. As such, the QA and software testers needs to be highly surgical with respect to API testing with a light & careful approach.
      7. Security Testing
      As the technology industry is pacing forward with a whopping speed, there is a significant increase in the amount of information as well. As such, information security and continuous integration testing becomes a matter of concern to the larger companies to ensure the effective data flow without any leakage or breaching of confidential information. Therefore, security testing is another domain that the technology world is going to observe in the upcoming times.
      These were some of the important trends in the QA and software testing industry.
      Kindly do let us know what do you think about these or share your thoughts related to any other trends you feel are not included.
      Cheers!
      Naveen AutomationLabs

      Sample Resume – Automation QA Engineer – 2-7 Years

      Sample Resume – Automation QA Engineer – 2-7 Years


      Note:

      • Please change your technical expertise according to your experience
      • Please change your number of experience
      • Please change the project description, Roles & Responsibilities according to your profile



      Email:  Test User
      Ph #:
      Current Employer: ABC
      Current Location: Bangalore, India
      Professional Summary:
      ·       Over 6 years of experience in Information Technology, with specializing in Software Quality Assurance Testing,proficient in testing on Client/Serverand Web based applications and good experience on Core Java, OOPSconcepts.
      ·       Extensive working experience on all phases of Software Development Life Cycle (SDLC), its methodologies such as Agile, SCRUM and Waterfall Model.
      ·       Proficient in the field of Information Technology, with specializing in Software Quality Assurance Testing, proficient in testing on Client/Server and Web based applications.
      ·       Proficient in using test automation tools such as Selenium WebDriver/RC/IDE/Grid, Quality Center to develop automation testing scripts for web and client server applications.
      ·       Experience with Mobile Automation using Appium automation framework and WebDriver.
      ·       Expertise in debugging issues occurred in front end part of web-based application which is developed using HTML5, CSS3, Angular JS, Node.JS and Java. 
      ·       Sound knowledge on Junit, TestNG framework for Unit testing, Maven and Ant for Project building tool, Jenkins/Hudson for Continuous Integration. 
      ·       Hands on experience in testing the AngularJSbased application using Protractor. 
      ·       Well versed with various testing stages/levels/phases, testing types, testing techniques and quality work products.
      ·       Experience in the development of Data driven, Keyword driven and Hybrid Automation frameworks in Selenium.
      ·       Good working experience on SOAP UI for testing and validating various web services used in the application.
      ·       Extensive experience in reviewing and analyzing Business Requirements and creating Test Plans, Test Cases, Test Scripts, Test Estimation& Requirement Traceability Matrix.
      ·       Professional expertise in Smoke Testing, Backed end Testing, Black-Box Testing, User Acceptance Testing (UAT), Functional Testing, Positive/ Negative Testing, System Testing, Regression Testing, GUI Software Testing, Ad-hoc Testing, Cross Browser/ Cross Platform Testing, UI Validation, WebServices, Boundary Value Testing.
      ·       Sound knowledge on Object Oriented Programming (OOP) concept. Extensively used Java and Ruby for test case automation. Experience in implementing TDD and BDD.
      ·       Well versed in different management scenarios like Change Control, Quality Assurance, Defect Tracking, System Integration, and Task Scheduling.
      ·       Expert using open source bug tracking tool JIRA, Quality Center, BugZilla & IBM Rational Team Concert (RTC).
      ·       Excellent experience in troubleshooting software applications for business functions in major areas of the business and enterprise-wide.
      ·       Ability to adapt to new environment quickly, strong team player, good communication, good analytical and computation skills, enthusiastic learner, confident, sincere and committed.
      ·       Outstanding communicator with extensive experience in customer service as well as ability to identify, develop and enhance client relationships
      TECHNICAL SKILLS:
      Testing Tools
      Selenium IDE/RC/WebDriver/GRID, Quick Test Pro (QTP), Test Link, Test Manager, Jbehave, Cucumber, Appium
      Languages
      JAVA, HTML, XML, PL/SQL
      Web Technologies
      HTML, XML, CSS, DHTML, Angular JS, Node.JS
      Scripting
      Python, JavaScript
      IDE
      Eclipse, SQL Developer
      Test Framework
      Junit, TestNG, Data Driven Framework
      Web Debugging Tool
      XPath, Firepath, Firebug
      Build Tool
      Ant, Maven
      Processes
      Agile-Scrum, Waterfall
      Bug Tracking Tools
      JIRA, Quality Center (QC), BugZilla & IBM Rational Team Concert (RTC)
      Continuous Integration Tools
      Jenkins, Hudson, Cruise Control
      Version Control
       SVN, GIT 
      Data Bases
      MS Access, Oracle
      Operating Systems
      Windows (XP, Vista & 7, 8) Linux, Mac
      Professional Experience:
      Gordon Food Service (GFS), Grand Rapids, MI                                                                                            May 2016 – Till Date                  
      The main goal for the development of this project was to build to Data Warehouse for the expansion and enhancement of the underlying data storage system for incoming sales/transactions data. This has achieved Enhanced flexibility in selecting multiple data points considering various internal dimensions such as Regions, Platforms, Customer and Time along with allowing full customization of the complete consolidated reports at the local level. 
      Role: QA Automation Engineer (Selenium)
      Responsibilities
      ·       Gathered requirements documents such as business requirements and design document and other related documents.
      ·       Reviewed the Test Basis, designedand documented Test Strategies, Test Plan, Test Cases and executed test cases.
      ·       End to End Testing of the complete website which was developed using Angular.JS, JavaScript, HTML5, CSS3 and other web technologies.
      ·       Responsible for writing and maintain Selenium WebDriver scripts for regression and functional testing using data driven framework.
      ·       Used Protractor which is and End-to-End Framework testing for AngularJS Web Applications. 
      ·       Developed test code in Java language using Eclipse, IDEand TestNG framework.
      ·       Setup the Automation framework using Selenium to run test cases in multiple browsers and platforms
      ·       Worked on the Android module of the project where I was responsible for automating the app using Appium with python. 
      ·       Responsible for identifying test cases formanual and Automation with Selenium WebDriver for Smoke Test, Functional and Regression Tests.
      ·       Involved in writing automated scripts for Angular.JS application using Protractor and Java.
      ·       Involved in design and implementation of Selenium WebDriver automation framework for smoke and regression test suites (TestNG and Maven).
      ·       Involved in testing the application utilizing the Scrum (Agile) methodology.
      ·       Involved on Cucumber testing and defined the test scenarios and created the test cases in Test Manager.
      ·       Involved in designing of automation frameworkto be used in UI testing with Selenium.
      ·       Execute browser compatibility and regression tests using Selenium WebDriver for testing UI for every new build release.
      ·       Created Python scripting to test REST API functionality for regression setup. 
      ·       Performed functional tests using Selenium WebDriver with data driven framework and documented final results in a database.
      ·       Developed Python scripts to automate the test cases.
      ·       Used the Firebug to inspect the XPath of the web elements and Eclipse IDE for Java development.
      ·       Identified, Reported and Tracked Defects using Quality Center test management tool.
      ·       Manually tested, verified and validatedthat the product meets user requirements.
      ·       Developed and executed SQL queries to verify the proper insertion, deletion and updates into the Oracle supporting tables and cubes.
      ·       Performed SOA / web services testing using SOAP UI; wrote adaptors to test / invoke web services.
      ·       Reviewed database test cases according to assigned Requirements to validate reports by retrieving data with complex SQL queries from oracle database.
      ·       Performed End-to-End testing of database to check data integrity using SQL queries.
      ·       Assisted QA lead in documenting User Acceptance Test report and reporting defect resolution.
      Environment: Selenium WebDriver, Java, Python, TestNG, Angular JS, Protractor, LoadRunner, Jenkins, Cucumber, Agile, SQL, Maven, Appium, DHTML, SOAP UI, XPath, Firebug, Eclipse, Quality Center HTML, GitHub, Windows 7.
      Sun Life Financial, Windsor, CT                                                                                                                          Jul 2014 – Apr 2016                                             
      This project was to upgrade the automation of Mortgage loan Process beginning with customer initiation to the title transfer. It involved developing a risk analysis and modeling system for the collateral pools that has been purchased and securitized. It was intended to help the business users to structure the securities based on mortgage pool characteristics. Credit Risk and Prepayment Risk could be assessed and the system could also determine loss provisions based on the expected range of loss estimated by foreclosure frequencies and loss severity of the mortgages. Implement the trade surveillance requirements. This project followed Agile Scrum methodology.
      Role: QA Automation Engineer
      Responsibilities:
            Involved in test cases review by development team, product management and modified the test cases based on their feedback.
      ·       Responsible for planning, executing and managing the UI automation scripts written in AngularJS using Protractor Testing Framework.
      ·       Drafted Test Plan which included testing objectives, testing phases, scenarios and test environment after a thorough analysis of the business rules.
      ·       Developed Automation framework using Selenium Web Driver.
      ·       Established the Environment set up for Mobile Automation using Appium Tool.
      ·       Utilize CSS selectors, IDs, and XPaths to locate elements on iOS and Android views, and Web pages, and use Protractor for AngularJS web pages and Implemented Jasmineas a testing framework with WebDriverJS in Protractor.
      ·       Performed functional testing to identify various critical points in the application and automated it by using Selenium Web-Driver with TestNG.
      ·       Created and enhanced numerous test scripts to handle changes in the objects, in the tested application’s GUI and in the testing environment using Selenium WebDriver.
      ·       Involved in writing automated scripts for Angular JS application using protractor and Java scripts and performed manual testing in physical devices emulator and IOS simulator
      ·       Developed automation framework for Selenium WebDriver in Modular Framework model.
      ·       Tested applications developed in Java with J2EE framework.
      ·       Used Selenium WebDriver forwriting test scripts for regression test coverage.
      ·       Executed the test plans on Mobile (IOS & Android) as per requirements using Appium.
      ·       Design & Develop data driven framework using Selenium WebDriver, TestNG and Apache POI API.
      ·       Create scripts Python for new functionalities and update the existing scripts for upgraded functionalities. 
      ·       Created Selenium web-driver automation scripts using Python to validate functionality on various browsers.
      ·       Developed and Implemented automation using Selenium WebDriver and Java. Used Eclipse IDE to develop & debug the code.
      ·       Used Mavento build and run the Selenium automation framework. Once the script got over, framework used to send the automation reports over email.
      ·       Involved in the Continuous Integration of the automation framework with Jenkins.
      ·       Integrated the test suites to Jenkins to execute them automatically after every successful deployment.
      ·       Worked on Data Driven Framework and MVC for Automation test scripts.
      ·       Implemented Selenium GRID for compatibility testing.
      ·       Used XPathand DOM to work with dynamic and static objects in Selenium.
      ·       Performed functional testing of SOAP and RESTFUL Web Services using SOAP UI Tool.
      ·       Involved in testing Web services and XML with tool called SOAP UI and  using this tool to locate WSDL file on internet, create Test cases and run them
      ·       Validated SOAP responses by using assertions likeXPath match, schema compliance, contains, SOAP fault etc.
      ·       Used Git as code repository and Code Collaborator to manage code reviews.
      ·       Designed data-driven testing framework in Selenium and captured data dynamically from web controls.
      ·       Created manual test cases, reviewed with different stakeholders to validate the functionality.
      ·       The entire Ruby scripting done using Cucumber framework Wrote and executed SQL queries to verify the data updates to various tables and ensure data integrity.
      ·       Worked with SOA architecture which includes Soap Web Service and RestFul Web Service Testing Conducted backend testing using SQL queries to validate data for database.
      ·       Attend the BRI (Business Requirement Identification) meeting to understand the business Requirements.
      ·       Edit and debug tests using Selenium Participated in meeting, teleconferences walk through with the development team, QA manager and Project manager (PM).
      ·       Coordinated with technical support associates to fix proprietary software issues
      ·       Verified, edited and update test data in new or existing systems before testing.
      Environment: Java, Selenium WebDriver, Jenkins, Maven, Angular JS, Protractor, Cucumber, Python, SOAP UI, RestFul, XPath, Eclipse, HTML, CSS, JavaScript, XML, Appium, Ruby, Quality Center, SQL, agile, Oracle and Windows.
      First Republic Bank, San Francisco, CA                                                                                                          Feb 2012 – Jun 2014
      First Republic Bank provides corporate, investment, retail banking, wealth management and consumer lending services. Project involved Web based application which is used by front office users for tracking different service requests made by clients such as address change, consumer credit, rate exception, funds transfer etc. It is used to submit private banking credit applications, used by private bankers for submitting different product type requests like secured loan, unsecured loan etc in a credit application.
      Role: QA Engineer
      Responsibilities:
      ·       Involved in developing test plan, test strategies, test scenarios, test scripts and test stepsbased on Business and System Use Cases.
      ·       Actively participated in scrum meetings and reviews.
      ·       Performed Functional tests using Selenium WebDriver with data driven framework.
      ·       Executed Selenium tests for automation testing of the web application using SeleniumWeb Driver.
      ·       Followed Test Driven Development (TDD) as much as possible and written test cases using TestNG for every relevant class.
      ·       Wrote highly efficient and maintainable Java code to develop Page Objects using the Selenium Framework.
      ·       Created test cases, test plans, tested API’s, wrote TestNG test cases, executed code coverage, wrote automation scripts using Selenium, executed database queries for testing purposes and led different projects in the shipping and checkout domain.
      ·       Performed Data driven testing using Selenium WebDriver and TestNG functions which reads data from property and XML files.
      ·       Used Maven to build and run the Selenium automation framework. Once the script got over, framework used to send the automation reports over email.
      ·       Developed Maven Build scripts to run Sanity Test scripts developed in Selenium WebDriver.
      ·       Created automation framework in Selenium WebDriver using behavior driven approach like Cucumber.
      ·       Used Maven for building the WebDriver project. Integrated with Continuous Integration tools Jenkins for running test on nightly basis automatically.
      ·       Developed test harness for WebServices automated testing by means of SOAP UI and ANT.
      ·       Involved in testing SOA with RESTful/SOAP Web Services. Created entire architecture for backend testing internal and third party API using Test Complete and SOAP UI.
      ·       Performed functional testing of Web services testing using SOAP UI.
      ·       Created Data Driven tests that randomized the test data for testing the AUT using Excel file.
      ·       Used XPathand DOM to work with dynamic and static objects in Selenium.
      ·       Performed Smoke, Functional, Regression and Integrationtesting.
      ·       Identified and reported bugs using defect tracking tool HP Quality Center and presented bug reports for weekly status updates.
      ·       Performed data accuracy, data validation and data integrity testing by querying the database using SQL queries to check the data table on server.
      ·       Conducted backend testing using SQL queries to validate data for database.
      ·       Participated in Stand-up meeting, walkthrough meeting, weekly automation meeting with all other QA, weekly assessment meetings with business analysts and developers.
      Environment: Java, Selenium WebDriver, Eclipse, TestNG, Maven, Jenkins, Cucumber, Page Object Model (POM),, DataDriven Framework, Quality Center, HTML, CSS, JavaScript, SOAP UI, Web Service, XPATH, WSDL, XML, Oracle, SQL, Linux, Windows.
      Hudson City Savings Bank, Paramus, NJ                                                                                        Dec 2010 – Jan 2012
      This project is an online banking application consisting of various modules like personal Banking, Loan Locking, Pricing, Withdraw, Extend Load Expiry, Funding, Closing, Mortgages, Re-finance, Investment banking, stocks, bonds, Mutual funds, insurance and portfolio/wealth management. It also generates reports based on clients’ loan status like loans missing, collateral documents, loans purchased, loans pending settlement review, loans not cleared for settlement.The personal banking module consists of managing Checking and Savings accounts, balance transfers, bill payments, deposit methods and individual retirement accounts and money transfer. FMS (Funds management system) provides a single source of financial information for the Fund Managers.
      Role: Manual Tester
      Responsibilities:
      ·       Analyzed business requirements, documented business requirements specifications, wrote Test Plans, Test Cases.
      ·       Worked with development team to understand technical design and architecture for test planning.
      ·       Worked under waterfall methodology.
      ·       Executed Manual and Automated tests and reports defects by running automated tests; executing manual tests; reviewing results of all tests and reporting anomalies into the defect tracking database; verifying the resolution of all defects for an assigned project. 
      ·       Prepared traceability matrix to ensure the adequate coverage of the test cases.
      ·       Prepared required documentation for testing signoff by various parties as required by the project plans.
      ·       Assigned, Monitored and Tracked Tasks of Team Members.
      ·       Updated Test Plans and Test Cases periodically to manage changes in requirements.
      ·       Uploaded test cases executed test cases and logged defects in Mercury Quality Center.
      ·       Maintained Traceability Matrix to track the requirements to the test cases to ensure complete test coverage in the Quality Center.
      ·       Connected to database to Query the database using SQL for data verification and validation.
      ·       Performed back end testing on oracle database by writing SQL quarries.
      ·       Created SQL views to aggregate data before moving to targeted database from legacy database to simulate results.
      ·       Interacted closely with developers regarding defects, participated in tracking, reviewing and analyzing bugs.
      ·       Worked extensively with business users to define scope and prepared ‘Documents of Understanding’ for various change requests by analyzing the feedback from user groups.
      Environment: Java, Manual Tester, Quality Center, MS Visio, HTML, Java Script, Oracle, VSS, UNIX.

      Best Automation Testing Tools for 2018 (Top 10 reviews)

      Best Automation Testing Tools for 2018 (Top 10 reviews)

      Software development practices change over time, so do the tools and technologies. Such changes aim to improve productivity, quality, customer satisfaction, to tackle ever-shorten delivery time, and to deliver successful products and services. Software testing obviously plays an important role in achieving these objectives.
      The recently released World Quality Report 2017–2018 by Capgemini, Sogeti, and Micro Focus points out several interesting trends in software quality and testing. Two of three key trends are increasing test automation and widespread adoption of agile and DevOps methodologies. As the report shows, organizations need intelligent automation and smart analytics to speed up decision making and validation and to better address the challenges of testing smarter devices and products that are highly integrated and continuously changing. The report also suggests the need of smart test platforms that are self-aware and self-adaptive to support the complete application lifecycle.
      In the test automation landscape, automation tools certainly take a center stage. This post summarizes the top test automation tools and frameworks that have the potential to help organisations to best position themselves to keep pace with the trends in software testing. The list includes both open-source and commercial test automation solutions.

                                       Top 5 Automation Testing Tools for 2018
      1. Selenium
      Selenium is possibly the most popular open-source test automation framework for Web applications. Being originated in the 2000s and evolved over a decade, Selenium has been an automation framework of choice for Web automation testers, especially for those who possess advanced programming and scripting skills. Selenium has become a core framework for other open-source test automation tools such as Katalon Studio, Watir, Protractor, and Robot Framework.
      Selenium supports multiple system environments (Windows, Mac, Linux) and browsers (Chrome, Firefox, IE, and Headless browsers). Its scripts can be written in various programming languages such as Java, Groovy, Python, C#, PHP, Ruby, and Perl.
      While testers have flexibility with Selenium and they can write complex and advanced test scripts to meet various levels of complexity, it requires advanced programming skills and effort to build automation frameworks and libraries for specific testing needs.
      License: Open-source
      2. Katalon Studio
      Katalon Studio is a powerful test automation solution for web application, mobile, and web services. Being built on top of the Selenium and Appium frameworks, Katalon Studio takes advantage of these solutions for integrated software automation.
      The tool supports different levels of testing skill set. Non-programmers can find it easy to start an automation testing project (like using Object Spy to record test scripts) while programmers and advanced automation testers can save time from building new libraries and maintaining their scripts.
      Katalon Studio can be integrated into CI/CD processes and works well with popular tools in the QA process including qTest, JIRA, Jenkins, and Git. It offers a nice feature called Katalon Analytics which provides users comprehensive views of test execution reports via dashboard including metrics, charts, and graphs.
      License: Free
      3. UFT
      Unified Functional Testing (UFT) is a well-known commercial testing tool for functional testing. It provides a comprehensive feature set for API, web services, and GUI testing of desktop, web, and mobile applications across platforms. The tool has advanced image-based object recognition feature, reusable test components, and automated documentation.
      UFT uses Visual Basic Scripting Edition to register testing processes and object control. UFT is integrated with Mercury Business Process Testing and Mercury Quality Center. The tool supports CI via integration with CI tools such as Jenkins.
      License: Commercial
      4. Watir
      Watir is an open-source testing tool for web automation testing based on Ruby libraries. Watir supports cross browser testing including Firefox, Opera, headless browser, and IE. It also supports data-driven testing and integrates with BBD tools like RSpec, Cucumber, and Test/Unit.
      License: Open-source
      5. IBM Rational Functional Tester
      IBM RFT is a data-driven testing platform for functional and regression testing. It supports a wide range of application such as .Net, Java, SAP, Flex, and Ajax. RFT uses Visual Basic .Net and Java as scripting languages. RFT has a unique feature called Storyboard testing in which users’ actions on AUT are recorded and visualized in a storyboard format through application screenshots.
      Another interesting feature of RFT is its integration with IBM Jazz application lifecycle management systems such as IBM Rational Team Concert and Rational Quality Manager.
      License: Commercial
      6. TestComplete
      TestComplete by SmartBear is a powerful commercial testing tool for web, mobile, and desktop testing. TestComplete supports various scripting languages such as JavaScript, VBScript, Python, and C++Script. Like Katalon Studio, testers can perform keyword-driven and data-driven testing with TestComplete. The tool also offers an easy-to-use record and playback feature.
      Like UTF, TestComplete’s GUI object recognition capability can automatically detect and update UI objects which helps reduce the effort to maintain test scripts when the AUT is changed. It also integrates with Jenkins in a CI process.
      License: Commercial
      7. TestPlant eggPlant
      An image-based automated functional testing tool that enables testers to interact with AUT the same way end users do. TestPlant eggPlant is completely different from traditional testing tools in its approach: modeling user’s point of view rather instead of the test scripts view often seen by testers. This allows testers with less programming skills to learn and apply test automation intuitively. The tool supports various platforms like Web, mobile, and POS systems. It offers lab management and CI integration as well.
      License: Commercial
      8. Tricentis Tosca
      Tricentis Tosca is a model-based test automation tool that provides quite a broad feature set for continuous testing including dashboards, analytics, and integrations to support agile and DevOps methodologies.
      Tricentis Tosca helps users to optimize the reusability of test assets. Like many other test automation tools, it supports a wide range of technologies and applications such as web, mobile, and API. Tricentis Tosca also has features for integration management, risk analysis, and distributed execution.
      License: Commercial
      9. Ranorex
      Ranorex is a quite comprehensive commercial automation tool for web, mobile, and desktop testing. The tool features advanced capabilities for GUI recognition, reusable test scripts, and record/playback. Codeless test creation is also a very useful feature that allows new automation testers to learn and apply test automation to their projects.
      The tool supports Selenium integration for web application testing. Testers can distribute the execution of their tests across platforms and browsers using Selenium grid. Ranorex offers a low-pricing model for businesses.
      License: Commercial
      10. Robot framework
      Robot Framework is an open-source automation framework that implements the keyword-driven approach for acceptance testing and acceptance test-driven development (ATDD). Robot Framework provides frameworks for different test automation needs. But its test capability can be further extended by implementing additional test libraries using Python and Java. Selenium WebDriver is a popular external library used in Robot Framework.
      Test engineers can leverage Robot Framework as an automation framework for not only web testing but also for Android and iOS test automation. Robot Framework can be easy to learn for testers who are familiar with keyword-driven testing.
      License: Open-source
      — — — — —
      As we can see, each of these automation tools has unique features to offer in addressing the growing challenges of software automation in the years ahead. Most provide capabilities for continuous testing and integration, test managementing, and reporting. They all support increasing automation needs for Web and Mobile testing. However, intelligent testing and smart analytics for adaptive and heterogeneous environments are still something to be desired for automation tools.
      References:
      Cheers!
      Naveen Automation Labs

      Selenium WebDriver Architecture

      Selenium WebDriver Architecture

      Selenium WebDriver Architecture: The best way to explain (Deep dive into Selenium BackEnd):

      **Learn How Selenium WebDriver works internally:

      When the automation script is executed, the following steps happen:

      +for each Selenium command, a HTTP request is created and sent to the browser driver
      +the browser driver uses a HTTP server for getting the HTTP requests
      the HTTP server determines the steps needed for implementing the Selenium command
      +the implementation steps are executed on the browser
      +the execution status is sent back to the HTTP server
      +the HTTP server sends the status back to the automation script

                    Selenium WebDriver Architecture

      ===============================================
      **WebDriver API Documentation:
      https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol

      **Download Selenium Standalone Server:
      https://goo.gl/21wWg8
      ===============================================

      **Subscribe to this channel, and press bell icon to get some interesting videos on Selenium and Automation:

      https://www.youtube.com/c/Naveen%20AutomationLabs?sub_confirmation=1

      Follow me on my Facebook Page:
      https://www.facebook.com/groups/naveenqtpexpert/

      -~-~~-~~~-~~-~-
      Follow my Site/Blog: http://www.naveenautomationlabs.com
      ========================================================
      Please watch: “Selenium & Automation Interview Preparation – By Naveen AutomationLabs”
      https://www.youtube.com/watch?v=Og-9P5RwCMM
      -~-~~-~~~-~~-~-

      Cheers
      Naveen AutomationLabs 

      « Older posts