Skip to content

This is an automation testing project for various technical functionalities of the Udemy course platform, the main learning site where I studied and learned Software Testing (QA).

Notifications You must be signed in to change notification settings

MirceaMacarie/Udemy_Automation_Test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Udemy Automation Test

This is an automation testing project for various technical functionalities of the Udemy course platform, the main learning site where I studied and learned Software Testing (QA).


📌 Inspiration and personal purpose 📈

This automation project was created to practice personal automation skills and to develop a more complex suite of automated tests that imitate as closely as possible the flow of a normal user on the platform (ex: login, search through sections, search in the search box, select results, add to wishlist or in the cart, logout).

📌 Project technologies 💻

  • JavaScript as programming language

  • Node.js as runtime environment

  • WebdriverIO as automation framework for web applications

  • Google Chrome as test browser, with chromedriver

📌 Setup and installation 🛠️

  1. Iniatially I created a remote repository on GitHub, then a local repository on my computer.
  2. In the project's local folder, I installed the WebdriverIO automatic testing framework from the Command Terminal, by executing the command: "npm init wdio .".
  3. Before the final installation of the drivers required for automated testing, I had to configure WebdriverIO by choosing certain options in the form in Terminal: selecting the base URL, using Google Chrome with chromedriver, setting the specific location where the files are located of the JavaScript test code ("./test/specs/**/*.js"), changing the command to run the test in the configuration file to "npm test".
  4. After I have finished installing the necessary files, I open a JS code file in the "test/specs" folder and add the unitary organized test suite with proper names for all the tests in it, following the documentation of the WebdriverIO framework.
  5. The automated test suite is executed by running the "npm test" command in the Command Terminal.

📌 Web support 🔗

As support, I used the website https://www.udemy.com/ for these automation test.

📌 Testing objectives 🔬

This project was thought as a way to:

  • to check the general functionality of the website
  • to think and develop automatic tests that imitate the flow of a normal user accessing the site
  • to check certain static details (buttons, titles, text, etc.).

📌 The automated tests and their theoretical execution 📋

‼️ For technical and security reasons, Udemy's official website is protected from automatic access by various such frameworks, like WebdriverIO. Therefore, running and video recording of the automated test suite execution was not possible. The automated tests that were to be run are listed below:

  1. "Should have the correct page title"
  • Open the main page of the website
  • Verify if the Login page has a specific title
  • Closed the pop-up window for cookies by clicking OK button
  1. "Should change the language of the website"
  • Change the language of the website from Romanian to English (languages, then English button)
  1. "Should login with correct credentials"
  • Click on the Log in Button
  • Set the email in the Email input
  • Set the Password in the Password input
  • Pause the execution of the test for 2 seconds
  • After checking the reCAPTCHA button, click on the Login button
  1. "Should have the correct Title for main page"
  • Check if the main page after log in has the correct title
  1. "Should verify the button for Finance & Accounting section"
  • It is expected the Finance & Accounting button to be displayed for users
  • The Finance & Accounting button should work properly
  • Pause the execution of the test for 2 seconds
  1. "Should verify the button for Personal Development section"
  • Navigate to the previous webpage of the site
  • It is expected the Personal Development button to be displayed for users
  • The Personal Development button should work properly
  • Verify one of the next section, Career Development button
  • Pause the execution of the test for 2 seconds
  1. "Should verify the search box"
  • Search in the specific box 'front end' and see the results
  • Scroll down the results page and select Beginner level and >4,5 rating criteria
  1. "Should select one course at a time from the list of results"
  • Click on a course from the list, page back, then select another ( x3 times)
  1. "Should add the selected course to Wishlist"
  • Click on the button to add the course to the Favorite list
  • Click to see the complete list with Favourite
  1. "Should select a course from Wishlist and add to Cart"
  • Click on the button to add the course to the Cart
  • Remove the selected course from Cart
  1. "Should log out from the website"
  • At the end of the test, click on the Logout button
  • Close the open browser window

About

This is an automation testing project for various technical functionalities of the Udemy course platform, the main learning site where I studied and learned Software Testing (QA).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published