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?”

Advertisements
Agile Testing, Browser, Chrome, Exception, protractor, Selenium

protractor- session not created: Chrome version must be between 70 and 73

DevTools listening on ws://127.0.0.1:57284/devtools/browser/f4efc932-01f3-4ac5-8a77-b19e65f2849b
[14:36:42] E/launcher – session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 10.0.17134 x86_64)
[14:36:42] E/launcher – SessionNotCreatedError: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 10.0.17134 x86_64)
at Object.checkLegacyResponse (C:\Users\khyati.sehgal\source\Workspaces\QA\SAND-DEV-1\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:546:15)
at parseHttpResponse (C:\Users\khyati.sehgal\source\Workspaces\QA\SAND-DEV-1\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:509:13)
at doSend.then.response (C:\Users\khyati.sehgal\source\Workspaces\QA\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:441:30)
at

Continue reading “protractor- session not created: Chrome version must be between 70 and 73”

Agile Testing, Automation, Automation Framework, best practises, protractor, Scrum, Selenium, Web Automation, Web Testing

Getting started with the protractor

As an automation QA Engineer,  I always try to work on areas where I can work with pace and efficiency, technology doesn’t matter. As the world is moving towards scripting language We as a QA also work together.

I am talking about the AngularJS, ReactJS applications which are highly acceptable and readily used in today’s world be it a Banking app or a CRM based. One can connect to all the application with frontend as a JS app and backend can be anything C# , Java ,etc. Here the role of QA is to identify the best fit he/she can apply to quickly automate all the cases in a highly compatible language which supports the Frontend application.

Here, I am talking about protractor. For one of my applications which is written in Aurelia (FE tool to create an application similar to AngularJS) we decided to work upon protractor, let’s talk about it in this blog how we managed to do it.

When it comes to testing applications, there are two main types of tests one wants to cover: Unit and E2E . End to end usually refers to the QA testing and unit mainly for the developers to take ownership of.

I will be focussing on the e2e in this post at a glance.

Protractor?

  • End-to-end testing framework for web applications and built on top of WebDriverJS.
  • Uses Jasmine framework for its syntax as default framework.
    Node.js .

Protractor , a wrapper on top of Selenium Webdriver can help us a lot.

Why to use protractor?

  • Support for Angular based Apps
  • Automatic Waiting
  • Page Object Model Support
  • Support for Selenium Server without it
  • The concept of the Custom locator

Who uses protractor?

The whole Scrum team.

Setting up Protractor

  • nodeJs to run protractor commands.
  • JDK – protractor needs Selenium to control browser automatically, which needs Java
    Protractor
  • Webdriver Manager

But, how to execute?

– `npm run e2e`

– run tests via plain Protractor `node_modules/.bin/protractor conf.js`

– run tests `npm test` (runs via flake, which re-runs failed tests)

Adding dependency via package.json

“name”: “e2e”,
“version”: “0.0.1”,
“scripts”: {
“test”: “protractor protractorConf.js –params.login.url=https://localhost:8080”,
“webdriver:update”: “webdriver-manager update”,
“webdriver:start”: “webdriver-manager start”,
“watch”: “npm-watch”
},
“devDependencies”: {
“@types/chai”: “^4.1.7”,
“@types/chai-as-promised”: “^7.1.0”,
“@types/jasminewd2”: “^2.0.6”,
“@types/node”: “^8.0.10”,
“jasmine”: “^3.4.0”,
“jasmine-allure-reporter”: “^1.0.2”,
“jasmine-core”: “2.5.2”,
“jasmine-data-provider”: “2.2.0”,
“jasmine-expect”: “^3.8.4”,
“jasmine-spec-reporter”: “^2.5.0”,
“jasminewd2”: “^2.2.0”,
“protractor”: “^5.4.1”,
“protractor-beautiful-reporter”: “^1.2.7”,
“protractor-testability-plugin”: “^1.2.0”,
“selenium-webdriver”: “3.0.1”,
“ts-node”: “^2.0.0”,
“typescript”: “^2.3.4”,
“webdriver-manager”: “^12.1.1”,
},

Maintaining test data

export class siteUrls {

testurl = “https://test.com”;

}

export class userInfo{

static product_oversight_requirement = [
                        “BCP/DR Review”,
                        “Contract Review”,
                        “Cyber Security Review”,
                    ];
static dropDownSelectYear = [
                        “2018”,
                        “2019”,
                        “2020”,
                        “2021”,
                        “2022”,
                        “2023”,
                        “2024”,
                        “2025”,
                        “2026”,
                        “2027”,
                        “2028”
                    ];

}

Managing configuration

exports.config = {
params: {
login: {
url: ‘localhost:8080’,
}
},
specs: [“./e2e/com.poc.specs/dashboard/User.ts”],
beforeLaunch: () => {
require(“ts-node”).register({
project: “e2e”
});
},
};
protractor, reports, Selenium

Reporting in protractor based automation framework

Reporting is one of the major features which completes the framework. This is something which impacts the stakeholder and gives them the real picture as a whole without looking into the nitty-gritty.

I have tried integrating a couple of reports in a protractor based automation framework which I have prepared for an Aurelia based application.  In this post, I will share the one which I finally implemented and works for me.

Continue reading “Reporting in protractor based automation framework”

Agile Testing, Loggers, Selenium, Selenium Errors, Selenium Webdriver, Uncategorized, Web Automation, Web Testing

Setting loggers in Selenium

Imports to make

import java.io.File;
import java.io.IOException;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;

Continue reading “Setting loggers in Selenium”

FileInputStream, FileOutputStream, Selenium, XSSF, XSSFCell, XSSFCellStyle, XSSFColor, XSSFRow, XSSFSheet, XSSFWorkbook

Working with Microsoft Excel in Selenium

Excel provides huge number of capabilities, we can make multiple use out of it like storing data, maintenance, calculations, retrieval, etc.
We can use the same capabilities of Excel in Selenium with the help of programming language like Java.

In this post I will be sharing how we can use excel with the help of a class example which can be directly used in any project as a Utility. I will be using XSSFWorkbook, XSSFSheet, XSSFCell,  XSSFRow, XSSFCellStyle, XSSFColor, FileInputStream, FileOutputStream to achieve this.

Continue reading “Working with Microsoft Excel in Selenium”

Automation, Java, Loggers, Quality Analyst, Selenium, Testing, Timestamp

Current timestamps in selenium

timestamo.jpegIn this post I will be sharing a function to get current timestamp in selenium?

I will be sharing a code snippet which will have a function called ‘getCurrentTimeStamp’. The code is entirely in java, hope this will help.

Continue reading “Current timestamps in selenium”

Browser, Chrome, collabration, Headless browser, Safari, Selenium

Dealing with multiple browsers in selenium

As technology grows we have to deal with multiple things. Things which are similar in behaviour and functioning but still different. One of the case comes up when we have to deal with multiple browser in selenium.

Here is the code snippet which can help you to initiate a browser seamlessly when added in project utility.

Continue reading “Dealing with multiple browsers in selenium”

Agile Testing, Automation, central repository, collabration, git, Maven, version control

Basic commands to start working with git.

In one of my previous blog, I have shared my experience why we need to use ‘Git’. In this post I will share basic commands to start with.

So lets get started.

To start with you need a machine where you want to use git. The choice would be of Windows, iOs, Linux, etc. The links would be same for different operating system, you just need to choose the one best fits your computer system.

Continue reading “Basic commands to start working with git.”

Automation, Automation Framework, Design patterns, Java, Maven, Safari, Selenium

Running selenium scripts on browser Safari and Mac Operating System

Safari Logs

SafariDriver Launcher
 [ 0.007s] [safaridriver.client] Connecting to SafariDriver browser extension...
 [ 0.019s] [safaridriver.client] This will fail if you have not installed the latest SafariDriver extension from
 http://selenium-release.storage.googleapis.com/index.html
 [ 0.020s] [safaridriver.client] Extension logs may be viewed by clicking the Selenium [✓] button on the Safari toolbar
 [ 0.071s] [safaridriver.client] Connected to extension
 [ 0.072s] [safaridriver.client] Requesting extension connect to client at ws://localhost:10975

Continue reading “Running selenium scripts on browser Safari and Mac Operating System”

Agile Testing, central repository, collabration, Continuous Integration, git

A quick beginners guide of git.

The team is when more than 2 people work on a small goal to achieve some concrete task. On every single day we get daily tasks to complete with timelines. From getting up for office, to reach home back, from preparing food, to have lunch on time, from reaching the office on time , having dinner with family on time. Hand-in-hand, we have similar official tasks which are prominent and can cause problem if not met. So as a person all we need is tracking of time, things, tasks and at the same time sharing the same work done or work in progress with each and every member be it a family member or team member.

Continue reading “A quick beginners guide of git.”

AndroidDriver, Appium, Maven, Selenium, TestNG

FAILED CONFIGURATION: @BeforeTest startDriver org.openqa.selenium.SessionNotCreatedException:

ERROR
FAILED CONFIGURATION: @BeforeTest startDriver
org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: No app set; either start appium with --app or pass in an 'app' value in desired capabilities, or set androidPackage to launch pre-existing app on device) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 828 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'

Continue reading “FAILED CONFIGURATION: @BeforeTest startDriver org.openqa.selenium.SessionNotCreatedException:”

eclipse, sdk, Selenium

An error occurred while collecting items to be installed session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).

ERROR STACK

An error occurred while collecting items to be installed
session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.eclipse.emf.common,2.11.1.v20160208-0816
No repository found containing: osgi.bundle,com.google.guava,15.0.0.v201403281430
No repository found containing: org.eclipse.update.feature,org.eclipse.emf.common,2.11.1.v20160208-0816
No repository found containing: osgi.bundle,org.eclipse.m2e.archetype.common,1.6.2.20150902-0001
No repository found containing: osgi.bundle,org.eclipse.m2e.core,1.6.2.20150902-0002

Continue reading “An error occurred while collecting items to be installed session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).”

Functional Testing, Functional Tests, interview, Manual Testing, Mobile Testing, Selenium, Test Cases, Test Steps, Testing, Web Testing

Functional test cases of shopping cart.

Here are some areas which we can focus on while testing shopping cart:-

SingleProductAddToCart
1. Select any product.
2. Select Add to Cart icon.

1. Verify that the correct PDP page is shown with all the necessary
links and information.
2. Verify that product should be successfully added to cart and in the Cart icon, 1 should be displayed.

Continue reading “Functional test cases of shopping cart.”