A Selenium-based test automation framework for testing the Dubizzle Dubai website.
This project is an automation framework built with Selenium WebDriver and TestNG to test functionality on the Dubizzle Dubai marketplace platform. The framework follows the Page Object Model (POM) design pattern for better maintainability and scalability.
Dubizzle/
├── src/
│ ├── main/
│ │ └── java/
│ │ └── pages/
│ │ ├── HomePage.java
│ │ └── TabletPage.java
│ └── test/
│ └── java/
│ ├── Base/
│ │ └── BaseTest.java
│ └── Tests/
│ └── SortTest.java
├── pom.xml
└── README.md
- Page Object Model design pattern implementation
- TestNG testing framework for test organization and execution
- Base test configuration for setup and teardown operations
- Chrome WebDriver implementation
- SortTest: Verifies the sorting functionality (price low to high) in the Tablets category
- Java 8
- Selenium WebDriver 4.10.0
- TestNG 7.4.0
- Maven
- Java JDK 8 or higher
- Maven
- Chrome browser
- ChromeDriver (compatible with your Chrome browser version)
-
Clone this repository:
git clone https://github.com/yourusername/Dubizzle.git -
Update the ChromeDriver path in
BaseTest.java:System.setProperty("webdriver.chrome.driver", "/path/to/your/chromedriver");
-
Run the tests using Maven:
mvn test
- Create a new class in the
pagespackage - Extend the functionality as needed, following the Page Object Model pattern
Example:
package pages;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
public class NewPage {
private WebDriver driver;
protected By someElement = By.xpath("//yourXpath");
public NewPage(WebDriver driver) {
this.driver = driver;
}
public void performAction() {
driver.findElement(someElement).click();
}
}- Create a new test class in the
Testspackage - Extend the
BaseTestclass to inherit setup and teardown methods
Example:
package Tests;
import Base.BaseTest;
import org.testng.annotations.Test;
import pages.HomePage;
public class NewTest extends BaseTest {
@Test
public void testNewFeature() {
// Your test code here
}
}Mohammed Lukmanudin M - GitHub Profile