Web Assignment
Instructions:
● This assignment is designed for the purpose of individuals' skills upgradation and
analysis of the level. So try your best to make full use of it.
● You can use internet resources, can seek help from the seniors and automation person
but try to first attempt it by yourself.
● Create a new project and add your code in it , add the readme file having the description
of the tasks assigned to you and the approach/ methods and functions you have used to
implement it.
● This project should be uploaded on the drive/bitbucket and the repo link should be
added in the sheet provided by automation lead.
● This assignment will be evaluated during the final evaluation and the reviewer will ask
questions related to it.
● Try to adopt the most useful and appropriate approaches to solve the scenario.
● Programming best practices should be followed and code optimization will be checked.
● You can use any of the programming languages to code the below scenarios.
● All the scenarios mandatory for advance level
● Advance Scenarios are optional for intermediate
● Check the web automation checklist before start.
● At Least 1 assertion should be done in each test case.Maximum you can add as much
as you want.
● In Each Test scenario also automate the negative case if it is possible.
Selenium Road Map:
Find the helpful material for selenium in the following sheet:
https://docs.google.com/spreadsheets/d/16L0-8HIIBTyxLpBCFLNbPVoarj5aXOMLH53ikev9RtA/
edit?hl=en&forcehl=1#gid=339448824
Cypress Road Map:
Find the helpful material for selenium in the following sheet:
https://docs.google.com/spreadsheets/d/16L0-8HIIBTyxLpBCFLNbPVoarj5aXOMLH53ikev9RtA/
edit?hl=en&forcehl=1#gid=339448824
Intermediate
Task 1: Certification [only if not done previous cycles] Mandatory
Certificates
a. HackerRank Certification for problem solving basic
https://www.hackerrank.com/skills-verification/problem_solving_basic
Optional Certification:
b. HackerRank Certification for any tool/language (good to have basic java)
https://www.hackerrank.com/skills-verification/java_basic
c. Any selenium certification
Selenium :
https://www.lambdatest.com/certifications/selenium-java-101
d. HackerRank Certification for SQL basic and intermediate
https://www.hackerrank.com/skills-verification/sql_intermediate
https://www.hackerrank.com/skills-verification/sql_basic
Task 2: Create Framework
Create a Basic Framework from scratch, follow the given elements
1. Proper code structure (follow best coding practices)
2. Page object model
3. Hooks implemented
4. Create Generic Function for Selenium, i.e input, click , select drop down etc
4. Reporting
5. Database Connectivity
6. Cross browser i.e manage the browser from config file for example if browser =
firefox in config file the webdriver initializes the firefox driver and test cases will execute
on firefox browser similarly for IE and Chrome.
7. Configuration file to handle config variable i.e browser, baseUrl
8. Please check Nice to have points at the bottom.
Note: Upload Source code on your bitbucket Repository.
Task 3: Automate Test Scenarios using your framework
PreReq:
Resources: https://www.saucedemo.com/
Note: Use the given username and password on the url for login
Scenario 1:
1-Go to url
2-Enter valid username
3-Enter invalid password
4-Click sign in
Assert: Error message
Scenario 2: Login with valid credentials
1-Go to url
2-Enter valid username
3-Enter valid password
4-Click sign in
Assert: User land to the dashboard.
Task 4: Automate Test Scenarios using existing framework
Resources: https://automationteststore.com/
Note: Manually Register at website and use the login credential for Test Scenario.
Note:
● Automate the given scenarios using the venturedive selenium page object and BDD
framework, , for cypress page object and/or Bdd.
● Clone the framework locally and then create the separate branch with your name e.g.
Naveen_webAssignemnt
● Push the branch on your bitbucket
Scenario 1 : (do it by xpath selectors)
Login to the website.
Scroll the page select the DOVE items from the BRANDS SCROLLING LIST and select the
newest item and add it to cart.
Assertion: Verify the item in cart with amount and quantity.
Scenario 2 : (do it by css selectors)
Go to the APPAREL & ACCESSORIES section, go to Tshirts , sort the element by low to high
rate then select the top 3 lowest value products and add them to your cart to make sure the
size of product should be medium.
Go back to the APPAREL & ACCESSORIES section, go to the shoes section , and add the
highest value product to the cart, and quantity should be 2.
Assert the selected item in the cart.
Scenario 3: (do it by xpath selectors)
Go back to the home url.
Go to the skin care section and log how many items are on sale, log how many items are on
sale and also out of stock, add sale items in cart.
Assert The count of total items in cart also the amount of sale items.
Scenario 4: (do it by xpath selectors)
Go to the men section and add the product to the cart whose product name ends with M.
Assert the item into the cart should end with the name M.
Scenario 5:
Do the scenario 1, 2 and 4 by BDD (use cucumber)
** Scenario 6: Cross Browser
Run the Above scenario on a multi browser, find the way to execute the test cases parallely of
different Browsers. (i.e. different browser
Task 5: CICD
● Install Jenkins & create a freestyle job
● Integrate & execute your selenium test with jenkins.
● Schedule your job on jenkins
● Configure the email notification on jenkins i.e whenever the build is passed or failed you
will get the email notification
ADVANCE
Task 1: Certification [only if not done certifications]
Mandatory Certificates
a. HackerRank Certification for problem solving basic
https://www.hackerrank.com/skills-verification/problem_solving_basic
Optional Certification:
b. HackerRank Certification for any tool/language (good to have basic java)
https://www.hackerrank.com/skills-verification/java_basic
c. Any selenium certification
Selenium :
https://www.lambdatest.com/certifications/selenium-java-101
d. HackerRank Certification for SQL basic and intermediate
https://www.hackerrank.com/skills-verification/sql_intermediate
https://www.hackerrank.com/skills-verification/sql_basic
Task 2: Create Framework [only if not created in Previous cycle]
Create a Selenium Basic Framework from scratch follow the given elements
1. Proper code structure (follow best coding practices)
2. Page object model
3. Hooks implemented
4. Create Generic Function for Selenium, i.e input, click , select drop down etc
5. Reporting
6. Database Connectivity
7. Cross browser i.e manage the browser from config file for example if browser =
firefox in config file the webdriver initializes the firefox driver and test cases will execute
on firefox browser similarly for IE and Chrome.
8. Configuration file to handle config variable i.e browser, baseUrl
Note: upload Source code on your bitbucket Repository.
Task 3: Automate Test Scenarios using your framework (from Task 2)
[only if task 2 is applicable]
PreReq:
Resources: https://www.saucedemo.com/
Note: Use the given username and password on the url for login
Scenario 1: Login with valid credentials
1-Go to url
2-Enter valid username
3-Enter valid password
4-Click sign in
Assert: User land to the dashboard.
Scenario 2: Sort the item from low to high
1-Go to dashboard
2-Open the filter drop down
3-Select the prize (low to high)
Assert: Verify all items are sort in low to high (assert price)
4-Add lowest 2 items in the cart
5-Go the cart
Assert: Asset the quantity and total items in cart with prices.
Task 4: Automate Test Scenarios using existing framework
Resources: https://automationteststore.com/
Note: Manually Register at website and use the login credential for Test Scenario.
Note:
● Automate the given scenarios using the venturedive selenium page object and/or Bdd
framework , for cypress page object and/or Bdd
● Clone the framework locally and then create the separate branch with your name e.g.
Naveen_webAssignemnt
● Push the branch on venture-dive bitbucket
Scenario 1 :
Login to the website.
Select the currency as euro.
From each section i.e men, makeup select all sales items and add it into the cart
Go to the cart then assert the items count and amount.
Assert: total item count and amount.
If the amount is greater than 200 euro then delete the amount until the total amount is not less
than or equal to 200 euro.
Then change the currency to Dollar then check if the amount is greater than 200 dollars then
delete the amount until the total amount is not less than or equal to 200 dollars.
Then change the currency to Pound then check if the amount is greater than 200 pounds then
delete the amount until the total amount is not less than or equal to 200 pounds.
Assert: total item count.
If the item count is less than the 15 items go back to the makup section and add remaining
items from non sale items i.e items in cart = 12 then have to add 3 more items
Assert: assert the items in cart should be 15 and total amount should be equal to previous total
+ new items amount.
Scenario 2:
Run the Above scenario on a multi browser, find the way to execute the test cases parallely of
different Browsers. (Saucelab/browser stack etc.)
Scenario 3:
Do the scenario 1 by BDD (use cucumber)
Scenario 4:
TestRail, JIRA and CQM Integration should be working and have good knowledge of integration.
Task 5: Framework Improvements
Kindly connect with Web Automation POC or your Line manager for the improvement task for
the existing framework.
Task 6: DOCKER & CICD Using Jenkins
Resource: https://github.com/DSC-JSS-NOIDA/QuickLearn
1-Clone the above web page on your system
2-Create a new free style job in jenkins on your system.
3-The job should initialize the docker container.
4-Deploy the provided application on a web server within a docker container.
5-Access the URL for that web application (provided by docker) and execute the test case
below from jenkins using framework.
Test Cases:
Case # 1:
1-Go to the web url
2-Explore resources
3-Click on designing
4-Click on photos
Assert: Verify the beginner , intermediate and advance heading
Case # 2:
1-Go to dashboard
2-Scroll down on page
3-Click on start learning
4-Click on programming
5-Click on java
6-Click view more option on w3school
Assert: Verify user land to we3School page for java tutorial