This README file provides a description of the TestNG automation project for both iOS and Android tests.
- Start the Booking application and continue without sign in.
- Select Skopje as destination.
- Select 24 - 28 April as date.
- Select 2 rooms and 3 adults.
- Click Search.
- On booking search screen validate expected destination and date is visible.
- Click on Save button (heart) on one of the listed properties.
- Go back to the search page.
- Click on Saved tab.
- Validate property is shown in Saved page.
- Go back to the search page.
- Click on Sign in tab and validate that user is not logged in.
- Scroll down to and click Settings.
- Click Currency.
- Change Currency to Euro.
- Validate that Settings Currency is changed now to Euro.
- Click on Privacy Policy and validate that Privacy and Cookies policy is open.
- Start the Booking application and continue without sign in.
- Navigate to Sign in tab.
- Click on Genius loyalty program.
- Scroll down to About Genius Levels and click on it.
- Swipe right to Genius Level 3 and validate that it is displayed.
- Click on Got it button.
- Click on Back button.
- Navigate to Search tab.
- Click on Car rental.
- Disable Return to same location button and validate that now pickup location and drop-off location are displayed.
- Add Skopje as Pickup location and Ohrid as Drop-off location.
- Select 24 April to 27 April 2024 as dates.
- Select 08:15 AM as Pickup time and 11:00 AM as Drop-off time.
- In Driver’s age enter your age.
- Click search.
- Filter cars by Automatic and validate that first displayed car is automatic.
- Utility class for capturing screenshots.
- Provides a method for capturing screenshots based on test status.
- TestNG listener class responsible for capturing screenshots on test success and failure.
- Implements ITestListener interface.
- Utility class containing helper methods for actions with elements.
- Utility class for setting up and tearing down the Appium Driver before and after test execution.
- Initializes the driver and performs necessary configurations.
-
Platform
: Specifies the platform on which the tests will run. In this case, it's set to Android. -
DEVICE_NAME_OPTION
: Defines the name of the device to be used for testing. This can be configured based on the device connected or the emulator being used. -
UDID_OPTION
: Specifies the unique device identifier (UDID) of the device to be used for testing. This is particularly useful when testing on real devices. -
AUTOMATION_NAME_OPTION
: Sets the name of the automation framework to be used. For Android, it's typically set to UiAutomator2. -
APP_OPTION
: Specifies the path to the application (.apk) file to be installed on the device/emulator for testing. -
APP_ACTIVITY_OPTION
: Defines the main activity of the Android application to start from. This is required to launch the application on the device. -
APP_PACKAGE_OPTION
: Specifies the package name of the Android application. This is necessary to identify the application uniquely on the device. -
NO_RESET_OPTION
: When set to true, it clears the app data and cache before running each test, ensuring a clean state. -
FULL_RESET_OPTION
: When set to true, it uninstalls the existing version of the app from the device and installs the new version specified in the APP_OPTION. -
AUTO_GRANT_PERMISSIONS_OPTION
: Automatically grants permissions requested by the app during the test execution. This is particularly useful for granting permissions like location, camera, etc., without user interaction. -
disableIdLocatorAutocompletion
: Disables autocompletion for ID locator strategy in Appium. This can help in preventing unexpected behavior while locating elements. -
skipDeviceInitialization
: This capability, when set to true, skips the initialization phase for the device, which can speed up test execution by avoiding unnecessary device setup steps.
- Contains global variables used across the project.
- Utility class for reading configuration properties.
- Provides a method for retrieving properties from config.properties.