This repository contains the code and resources for automating the testing of the Khan Academy Android mobile app. The app is an educational tool created by Khan Academy, a non-profit organization that aims to provide accessible and quality education to students worldwide. The focus of this project is on UI/UX testing to ensure a smooth and user-friendly experience for app users.
- Webdriver IO
- JavaScript
- VS Code IDE
To run the test automation scripts, follow these steps:
-
Clone this repository to your local machine.
-
Make sure you have Node.js installed. If not, download it from the official website and install it.
-
Open a terminal or command prompt and navigate to the project's root directory.
-
Install the project dependencies by running the following command:
npm install
-
Ensure you have the Khan Academy Android mobile app installed on the device or emulator where you plan to run the tests.
Before executing the test scripts, make sure you have a connected Android device or emulator set up and running.
To run the UI/UX tests, use the following command:
npm test
This command will trigger the test execution using Webdriver IO, which will launch the Khan Academy app and perform various UI/UX tests to verify its functionality and user interface.
The project follows a standard structure for test automation projects. Here is an overview of the directory structure:
├── node_modules
├── reports
├── test
│ ├── specs
│ │ ├──example.e2e.js
│ │ └── ...
│ └──pageobjects
│ ├── test.js
│ └── ...
├── package-lock.json
├── wdio.config.js
├── package.json
└── README.md
test/specs
: Contains test scripts written using Webdriver IO, each focusing on a specific functionality or feature of the app.test/pageobjects
: Contains page object classes that encapsulate the locators and interactions with different pages of the app.- the
configuration file
wdio.config.js`, where you can set up capabilities, specify test environments, and define other settings for Webdriver IO.
If you wish to contribute to this project, please follow these guidelines:
- Fork the repository and create a new branch for your changes.
- Make your changes and write clear, concise commit messages.
- Test your changes thoroughly to ensure they do not break existing functionality.
- Submit a pull request, describing the changes you made and the problem they solve.
If you have any questions or need further assistance, feel free to contact the project maintainers:
- Name: [Amit Kumar Das]
- Email: [damit5221@gmail.com]
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code for educational and non-commercial purposes.