Category Archives: Automation Testing

MAILER AUTOMATION THROUGH JAVAMAIL API

MAILER AUTOMATION THROUGH JAVAMAIL API “Discovering the unexpected is more important than confirming the known.” Owing to the large number of mails that are a part of the daily user interactions, it becomes imperative that the mails that reach the users are bug free. This system is developed as an initiative to continuously validate the mails that the end user is receiving for accuracy, without manually testing the mails each and every day. Problem Statement: In Naukri, automating mailers was considered unfruitful mainly due to the low ROI yielded when tackled with conventional... Read More

Page Object Pattern

Before discussing about “Page Object Pattern”, let’s understand what is Test Specification and Test Implementation? There is a difference between Test Specification and Test Implementation Test Specification - What to Test? Test Implementation - How to Test? For Example, Test Specification is “When user enters username and password and clicks the login button, then he is logged in and can see his Dashboard”. This describes a scenario – it’s a specification of what the test should do. However, Test Implementation has to deal with following things: The username field... Read More

How to Reduce Test Automation Flakiness

We all have heard the story of the Boy Who Cried Wolf, let’s just revisit it. “A shepherd-boy, who watched a flock of sheep near a village, brought out the villagers three or four times by crying out, "Wolf! Wolf!" and when his neighbours came to help him, laughed at them for their pains. The Wolf, however, did truly come at last. The Shepherd-boy, now really alarmed, shouted in an agony of terror: "Pray, do come and help me; the Wolf is killing the sheep"; but no one paid any heed to his cries, nor rendered any assistance. The Wolf, having no cause of fear, at his leisure lacerated or... Read More

Android App automation @Naukri

AppiumAndroid Naukri is one of the early bird which started automating mobile applications using Appium. It took us lot of time to identify compatibility of Appium with Android versions, and then with Selenium versions and further with java and java clients. The challenges we faced and the final compatibility that worked well for us is something I am sharing here. So, just putting it down here for the benefit of any beginner to appium. Appium! I’m sure is by now not an uncommon tool in the testing community. I consider that you already know ‘What’ and ‘Why’ about Appium. One of the... Read More

Selenium Webdriver Compatibility

Problem Statement: We at Naukri define and follow various test processes and the aim of these test processes is to deliver quality products to our customers. One of these processes is to define and upgrade compatibility matrix once in a quarter and we test our web products against this matrix. We can perform manual testing against the defined matrix, when it comes to automation testing following questions arise? Can we execute our automation suites against the defined matrix? If so which selenium version is compatible for latest Firefox version? In case of Chrome, which... Read More

Parallel Testing at Naukri

What is parallel testing? In simple terms, running your test scripts in parallel on same machine or on different machines is known as parallel testing.   Problem Statement: Let’s consider one of the application of Naukri say “Job Search”, consists of 900 test cases which takes around 3 hours for complete execution on a standalone machine.   Whenever a build related to “Job Search” is about to go live, we need to run the complete automation suite to achieve quality. The issues found from the resulting report are logged and get fixed by the dev team. Once fixed the entire Job... Read More

How to automate HTML5 mobile site functional testing using Chrome Mobile Emulator

The most common is to use the firefox addon User Agent Switcher, however, the browser window that opens has the same size as that of a desktop browser. If we simulate the size of a mobile phone browser our automation will be much more closer to an actual user interaction, moreover, the screenshots will capture the look of the web page on an actual mobile and would allow us to automate responsive design testing as well. Such an option is provided by the chrome screen emulator.   Emulators are pretty much exactly as their names suggest, they emulate how a browser would render a web page.... Read More

Difference between Implicit and Explicit Wait in Selenium

What is a wait and why it is used in automation scripts? Have you ever seen a traffic signal? What does the Red light in the Traffic signal indicate? The origin of wait comes from the traffic signal problem. As Red light in traffic signal asks the traffic to halt for some time, similarly wait is used to halt the execution of our automation script for a specified time. In other words wait asks our script to stop the execution for a specified time. Wait is mostly used by automation testers like us to debug our code or to avoid situations like Element not found Exception(s) by the webdriver.... Read More

How Firefox Profile solved our basic automation problems

              What is FirefoxProfile?   Firefox saves your personal information such as bookmarks, passwords, and user preferences in a set of files called your profile, which is stored in a separate location from the Firefox program files. You can have multiple Firefox profiles, each containing a separate set of user information. – Reference: https://support.mozilla.org . In automation terms, Firefox Profile is used to set properties for the WebDriver. We Used firefox profile to make our scripts execute on various versions of Firefox. It can also be used to handle ssl... Read More

Integrate your Automation with Jenkins

  Automation testing has become a part and parcel of our testing @Naukri. With that, we have a complete test suite covering most test cases of the iOS App. However, the challenge was executing them periodically. One of the major ideas behind having automation suites in place is the fact that it relieves you of the manual intervention. Now! If we had to manually put it to execution, what a snag! There we had!! Jenkins, an open source CI tool which could execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands as... Read More