Added Readme file
parent
17bd3b7917
commit
8d6079601c
@ -0,0 +1,72 @@
|
||||
# Playwright Cucumber Test Automation
|
||||
|
||||
A test automation framework using **Playwright**, **Cucumber**, and **TestNG**, designed for both UI and API testing.
|
||||
|
||||
## 📂 Project Structure
|
||||
|
||||
```
|
||||
main
|
||||
├── kotlin
|
||||
│ ├── core # Core modules (exceptions, listeners, properties)
|
||||
│ ├── utils # API and utility classes
|
||||
│ ├── web # Browser and UI element handling
|
||||
│ ├── projects/example # Step Definitions for Cucumber
|
||||
│ └── resources # Configuration files (e.g., urls.properties)
|
||||
└── test
|
||||
└── kotlin # Test classes (UI and API)
|
||||
```
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
1. **Clone the repository**:
|
||||
```bash
|
||||
git clone https://tapo4ek-git.duckdns.orgTapo4ek/Pitche_Test_Task.git
|
||||
cd <project-name>
|
||||
```
|
||||
|
||||
2. **Run tests**:
|
||||
Ensure `testng.xml` is located in `src/test/resources`. Then execute tests:
|
||||
```bash
|
||||
./gradlew clean test
|
||||
```
|
||||
|
||||
3. **Filter by tags** (for Cucumber scenarios):
|
||||
```bash
|
||||
./gradlew test -Dcucumber.filter.tags="@"
|
||||
```
|
||||
|
||||
## 🛠 Configuration
|
||||
|
||||
- **urls.properties**: Used to store base URLs or other properties:
|
||||
```properties
|
||||
baseUrl=https://example.com
|
||||
```
|
||||
|
||||
- **testng.xml**: Defines the test suites and classes to run:
|
||||
```xml
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
|
||||
<suite name="Suite">
|
||||
<listeners>
|
||||
<listener class-name="core.listeners.TestNGListener" />
|
||||
</listeners>
|
||||
<test name="ExampleUISuite">
|
||||
<classes>
|
||||
<class name="UITestTask" />
|
||||
</classes>
|
||||
</test>
|
||||
<test name="ExampleApiSuite">
|
||||
<classes>
|
||||
<class name="ApiTestTask" />
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
||||
```
|
||||
|
||||
## 📂 Tools Used
|
||||
|
||||
- **Playwright**: For browser automation.
|
||||
- **Cucumber**: For BDD-style test definitions.
|
||||
- **TestNG**: For test execution management.
|
||||
- **Gradle**: For build and dependency management.
|
||||
|
||||
---
|
||||
Loading…
Reference in New Issue