Automation, Automation Framework, BDD, Behaviour Driven Development, cucumber, product Mindset, Selenium

Revamping automation framework with Product Mindset logic’s.

Often we really don’t care to look at the material which we don’t understand or which is not eye-catchy. In this space, I will try to share a real-time example of how we as a team understood and deliver a problem that our Product owners and stakeholders were facing at the client-side. And thus helped us as a team in better collaboration over the certain things which we were doing in chunks.
Alright to start with..how about this, can you read this? Very few people can connect to this…right?

Not easy to understand

And now this? More people can understand.

A Simpler way to understand a complex code.

Appium, Automation, Browser, Chrome, Exception, Selenium, Selenium Errors, Selenium grid, Selenium Webdriver, Testing, Web Automation, Web Testing

FAILED: test org.openqa.selenium.WebDriverException: unknown error: unhandled inspector error: {“code”:-32603,”message”:”Cannot navigate to invalid URL”}

FAILED: test
org.openqa.selenium.WebDriverException: unknown error: unhandled inspector error: {“code”:-32603,”message”:”Cannot navigate to invalid URL”}
(Session info: chrome=49.0.2623.105)
(Driver info: chromedriver=2.18.343845 (73dd713ba7fbfb73cbb514e62641d8c96a94682a),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 180 milliseconds
Build info: version: ‘2.53.0’, revision: ’35ae25b’, time: ‘2016-03-15 16:57:40’
System info: host: ‘HSNMM-KhyatiS’, ip: ‘10.50.33.63’, os.name: ‘Windows 7’, os.arch: ‘amd64’, os.version: ‘6.1’, java.version: ‘1.7.0_79’
Session ID: 805809dc0b6156ce969fb10e0e95c2a5
Driver info: io.appium.java_client.android.AndroidDriver
Capabilities [{platform=ANDROID, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=49.0.2623.105, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=true, applicationCacheEnabled=false, takesScreenshot=true}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)

Continue reading “FAILED: test org.openqa.selenium.WebDriverException: unknown error: unhandled inspector error: {“code”:-32603,”message”:”Cannot navigate to invalid URL”}”

Automation, Automation Framework, Java, Java Class, javaScript, Selenium, Testing, Web Automation

JavaScript elements handling in selenium

As we see most of the applications are moving towards development with Angular, React, Aurelia, JS, TS bases scripting language and framework which uses these scripting languages.

When it comes to Quality assurance there is still some project which has not adopted a new framework based on these scripting languages.

For those, we have to interact with the JavaScript element multiple times just to make a tweak in the code. As DOM is very responsive and GUI is fragile we need to make those adjustments in the code. Here are some ways via which we can carry out that in a project which uses Selenium and Java together.

Continue reading “JavaScript elements handling in selenium”

Automation, BDD, Behaviour Driven Development, cucumber, gherkin, npm, protractor, Selenium

Implementing page object model using protractor and typescript

Before we dwell on some facts let us step back and understand why I am actually writing this blog. As we understand with this rapid growth not only the developers but we Automation Test Engineers are also constantly grooming ourselves by learning new stuff.

Be it a new programming language or a scripting language we have to widen our thoughts. So while thinking of creating a new automation framework now we are discussing things like handling promises, synchronization, infrastructures, continuous testing, continuous integration, version control, etc

In one of the recent project, I have created a framework in which we picked new tech stack in contrast to the one which is widely used (Yes, I am talking about Java+ Eclipse + TestNg.)

Let’s go deep dive and understand what all I have done for automating an application for which Frontend is written in Aurelia and Backend in C#

Continue reading “Implementing page object model using protractor and typescript”

Agile Testing, Automation, Functional Tests, saucelabs, Scrum, Selenium, smartbear, Testing, Web Testing

Cross browser testing via Sauce labs?

Learning starts when you start experimenting. Be it in Information Technology or layman’s life.

I will be using this space to make you understand a tool which will be of great help, not only for all the Software QA but to the Product Owners, Developer, stakeholders, etc. It has all the solution to the issues we foresee in day-to-day life. As we know in Agile we always define the Acceptance criteria, Definition of Done while make a story.

For those who are not so familiar with Agile , Kindly go through this wiki page- https://en.wikipedia.org/wiki/Agile_software_development.

Continue reading “Cross browser testing via Sauce labs?”

adb, Agile Testing, android, Automation, Functional Testing, Java, Mobile Testing

ADB for mobile quality analysts.

As we (QA) are growing more towards automation, we have now started exploring tools which developers are using for their development. Not just for developing our own testing framework but also for capturing logs, checking code smells, etc we can use adb.

And I think this is very cool and good to start exploring in this direction, as learning is never ending and shall never stop. Mobile testing is very dynamic and in this blog I will share some experience over adb for android testing and debugging.
Continue reading “ADB for mobile quality analysts.”

Agile Testing, Automation, Automation Framework, best practises, Java, Java Class, Java Object, Object Oriented, Selenium, Testing, Web Automation, Web Testing

Part 2 – Resolution of some major-frequently-seen Selenium utilities.

This blog is a continuation of my previous blog . Here I am collating the data according to my own experience. These methods can be added in the Utility class directly to make wide use of different functionalities.

Continue reading “Part 2 – Resolution of some major-frequently-seen Selenium utilities.”

Automation, Automation Framework, Cookies, Functional Testing, Java, Java Basics, Java Class, Java Methods, Java Object, Selenium, Testing, Uncategorized, Web Automation

Part 1 – Resolution of some major-frequently-seen Selenium utilities.

This blog will only focus on areas which coders usually search over web. Here I am collating the data according to my own experience. These methods can be added in the Utility class directly to make wide use of different functionalities.

Continue reading “Part 1 – Resolution of some major-frequently-seen Selenium utilities.”

Automation, Automation Framework, Selenium, Selenium Errors, Testing, Uncategorized

Exception in thread “main” org.openqa.selenium.WebDriverException: f.QueryInterface is not a function

In this blog post I will share resolution of an issue which is very general and often seen by Selenium developers.

Continue reading “Exception in thread “main” org.openqa.selenium.WebDriverException: f.QueryInterface is not a function”

Automation, Automation Framework, protractor, Selenium, Selenium Webdriver, Web Automation

TS issue with Circular dependency

TypeError: Class extends value undefined is not a function or null

Continue reading “TS issue with Circular dependency”

Automation, Automation Framework, eclipse, Java, Maven, Page Object Model, Selenium, Web Automation

Maven : Know-how !

To build the Enterprise Edition applications we use Maven.

Please download and install Maven. The build is tested with version 2.2.1 and 2.0.9.

The maven build should be able to set up the sources out of the box. The build should construct all components of the application (e.g. Java Archives, Web application archives, Flex application, etc.) automatically and consolidate them to deployable packages.
Continue reading “Maven : Know-how !”

Automation Framework, best practises, Design Pattern, Design patterns, Java, javaScript, nodejs, npm, Page Object Model, protractor, Quality Analyst, Selenium, Testing, typescript, Web Testing

Unhandled rejection RangeError: Maximum call stack size exceeded

While working with protractor with Typescript me and my team was facing this issue. I thought of sharing this here as it was a good finding. Issue was this:-

Unhandled rejection RangeError: Maximum call stack size exceeded
    at new Wait (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\utilities\Wait.ts:5:1)
    at new SelectDropDown (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\utilities\SelectDropDown.ts:5:1)
    at new CLASS1 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS1.ts:29:23)
    at new CLASS2 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS2.ts:25:32)
    at new CLASS3 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS3.ts:26:25)
    at new CLASS1 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS1.ts:30:41)
    at new CLASS2 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS2.ts:25:32)
    at new CLASS3 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS3.ts:26:25)
    at new CLASS1 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS1.ts:30:41)
    at new CLASS2 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS2.ts:25:32)
    at new CLASS3 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS3.ts:26:25)
    at new CLASS1 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS1.ts:30:41)
    at new CLASS2 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS2.ts:25:32)
    at new CLASS3 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS3.ts:26:25)
    at new CLASS1 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS1.ts:30:41)
    at new CLASS2 (D:\workspace\DemoProject\latest-code\protractor-cucumber\e2e\com.blog.page\CLASS2.ts:25:32)
Continue reading “Unhandled rejection RangeError: Maximum call stack size exceeded”
Agile Testing, Automation, Automation Framework, npm, Testing, Uncategorized, Web Automation, Web Testing

Beautification of console with npm dependency

While submitting a paper in one of the conference I have observed that its not just the code which they see while accepting the submission, but also the efforts you have added to show that the code has different elements which makes it unique And I am not talking about the DS, dynamic programming concepts which are by no choice are important and shall be considered while creating a framework. I will discussing in this post about a console beautification dependency of which can be added to project in very less time and presents a very beautiful welcome note before of the run. This can be a simple and quick add on to your framework, so I thought of adding the same in my project as well.

Continue reading “Beautification of console with npm dependency”
Assertions, Automation, Automation Framework, protractor, soft-assertions, Testing, typescript, Uncategorized, Web Automation

Soft assertions in protractor based typescript automation framework

How many of us has seen that while running code at once glance if the code fails at some step, then other test steps which meant to run post that step is marked as skipped in the final result?

Also, how about rephrasing the same sentence such that the code does not run and marked as skipped in the final run-results challenging the law of ‘fail-fast’. By the execution, we can not infer whether the code was wrong or the functionality dint work as it was an incomplete run for the one who ran it. I am sure many of the QA folks can relate to this. To be more precise, can we relate to this console screenshot.

Automation, Automation Framework, eclipse, Quality Analyst, System Testing, Testing, Uncategorized, Web Automation, Web Testing

org.openqa.selenium.WebDriverException: f.QueryInterface is not a function

org.openqa.selenium.WebDriverException: f.QueryInterface is not a function
Command duration or timeout: 17 milliseconds
Build info: version: ‘2.41.0’, revision: ‘3192d8a6c4449dc285928ba024779344f5423c58’, time: ‘2014-03-27 11:29:39’
System info: host: ‘ksehgal’, ip: ‘192.168.0.95’, os.name: ‘Windows 7’, os.arch: ‘amd64’, os.version: ‘6.1’, java.version: ‘1.6.0_43’
Session ID: b469c4b9-7596-4b66-b87e-646db4256726
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=firefox, rotatable=false, locationContextEnabled=true, version=29.0.1, cssSelectorsEnabled=true, databaseEnabled=true, handlesAlerts=true, browserConnectionEnabled=true, nativeEvents=false, webStorageEnabled=true, applicationCacheEnabled=true, takesScreenshot=true}]

Continue reading “org.openqa.selenium.WebDriverException: f.QueryInterface is not a function”