Welcome to the repository for my exam projects! This collection showcases my skills in DOM Manipulation, Playwright testing, and QUnit testing. Below you will find detailed descriptions, usage instructions, and examples for each of these projects.
This project demonstrates my proficiency in Document Object Model (DOM) Manipulation. The main objective is to dynamically update the content and structure of a webpage using JavaScript. Key features include:
- Dynamic Content Creation: Add, modify, and remove elements on the page.
- Event Handling: Manage user interactions through events such as clicks, mouse movements, and keyboard inputs.
- Real-time Updates: Reflect changes on the webpage without reloading, enhancing the user experience.
This project includes a suite of automated tests using Playwright, a powerful end-to-end testing framework. The tests are designed to validate the functionality and performance of web applications across different browsers.
- Cross-browser Testing: Ensure that your application behaves consistently across Chrome, Firefox, and WebKit.
- Headless Testing: Execute tests in a headless environment for faster and more efficient test runs.
- Advanced Test Scenarios: Cover complex user interactions, navigation, and input validation.
In this project, I have used QUnit, a JavaScript unit testing framework, to write and execute unit tests. The goal is to ensure that individual units of code (such as functions) work as expected.
- Test Suites: Organize tests into suites for modular testing.
- Assertions: Utilize a variety of assertions to validate code functionality.
- Test Coverage: Achieve high test coverage by thoroughly testing all critical code paths.
Ensure you have the following installed:
Open index.html
in your browser to see the DOM manipulation in action.
Execute the Playwright test suite with the following command:
npx playwright test
Simply open the test/index.html
file in your browser to run the tests.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or suggestions, please open an issue in the repository.