Skip to content

Commit 6207131

Browse files
committed
Sample allure code
1 parent 540b70e commit 6207131

File tree

8 files changed

+105
-28
lines changed

8 files changed

+105
-28
lines changed

pom.xml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,22 @@
1212
<maven.compiler.source>17</maven.compiler.source>
1313
<maven.compiler.target>17</maven.compiler.target>
1414
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15+
<allure.version>2.25.0</allure.version>
16+
<aspectj.version>1.9.21</aspectj.version>
1517
</properties>
1618

19+
<dependencyManagement>
20+
<dependencies>
21+
<dependency>
22+
<groupId>io.qameta.allure</groupId>
23+
<artifactId>allure-bom</artifactId>
24+
<version>${allure.version}</version>
25+
<type>pom</type>
26+
<scope>import</scope>
27+
</dependency>
28+
</dependencies>
29+
</dependencyManagement>
30+
1731
<dependencies>
1832
<dependency>
1933
<groupId>com.microsoft.playwright</groupId>
@@ -37,6 +51,41 @@
3751
<artifactId>playwright</artifactId>
3852
<version>4.10.0</version>
3953
</dependency>
54+
<dependency>
55+
<groupId>io.qameta.allure</groupId>
56+
<artifactId>allure-junit5</artifactId>
57+
<scope>test</scope>
58+
</dependency>
4059
</dependencies>
60+
<build>
61+
<plugins>
62+
<plugin>
63+
<groupId>org.apache.maven.plugins</groupId>
64+
<artifactId>maven-surefire-plugin</artifactId>
65+
<version>3.2.3</version>
66+
<configuration>
67+
<argLine>
68+
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
69+
</argLine>
70+
</configuration>
71+
<dependencies>
72+
<dependency>
73+
<groupId>org.aspectj</groupId>
74+
<artifactId>aspectjweaver</artifactId>
75+
<version>${aspectj.version}</version>
76+
</dependency>
77+
</dependencies>
78+
</plugin>
79+
<plugin>
80+
<groupId>io.qameta.allure</groupId>
81+
<artifactId>allure-maven</artifactId>
82+
<version>2.15.0</version>
83+
<configuration>
84+
<reportVersion>${allure.version}</reportVersion>
85+
<resultsDirectory>${project.build.directory}/allure-results</resultsDirectory>
86+
</configuration>
87+
</plugin>
88+
</plugins>
89+
</build>
4190

4291
</project>

src/test/java/com/serenitydojo/playwright/toolshop/catalog/AddToCartTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44
import com.serenitydojo.playwright.toolshop.fixtures.PlaywrightTestCase;
55
import org.assertj.core.api.Assertions;
66
import org.junit.jupiter.api.BeforeEach;
7+
import org.junit.jupiter.api.DisplayName;
78
import org.junit.jupiter.api.Test;
89

910
import java.util.List;
1011

12+
@DisplayName("Shopping Cart")
1113
public class AddToCartTest extends PlaywrightTestCase {
1214

1315
SearchComponent searchComponent;
@@ -31,6 +33,7 @@ void setUp() {
3133
}
3234

3335
@Test
36+
@DisplayName("Checking out a single item")
3437
void whenCheckingOutASingleItem() {
3538
searchComponent.searchBy("pliers");
3639
productList.viewProductDetails("Combination Pliers");
@@ -53,8 +56,10 @@ void whenCheckingOutASingleItem() {
5356
}
5457

5558
@Test
59+
@DisplayName("Checking out multiple items")
5660
void whenCheckingOutMultipleItems() {
5761
navBar.openHomePage();
62+
5863
productList.viewProductDetails("Bolt Cutters");
5964
productDetails.increaseQuanityBy(2);
6065
productDetails.addToCart();

src/test/java/com/serenitydojo/playwright/toolshop/catalog/pageobjects/CheckoutCart.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.serenitydojo.playwright.toolshop.catalog.pageobjects;
22

33
import com.microsoft.playwright.Page;
4+
import io.qameta.allure.Step;
45

56
import java.util.List;
67

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
11
package com.serenitydojo.playwright.toolshop.catalog.pageobjects;
22

33
import com.microsoft.playwright.Page;
4+
import io.qameta.allure.Step;
45

56
public class NavBar {
6-
private final Page page;
7+
private final Page page;
78

8-
public NavBar(Page page) {
9-
this.page = page;
10-
}
9+
public NavBar(Page page) {
10+
this.page = page;
11+
}
12+
13+
@Step("Open cart")
14+
public void openCart() {
15+
page.getByTestId("nav-cart").click();
16+
}
1117

12-
public void openCart() {
13-
page.getByTestId("nav-cart").click();
14-
}
18+
@Step("Open the home page")
19+
public void openHomePage() {
20+
page.navigate("https://practicesoftwaretesting.com");
21+
}
1522

16-
public void openHomePage() {
17-
page.navigate("https://practicesoftwaretesting.com");
18-
}
23+
@Step("Open the Contact page")
24+
public void toTheContactPage() {
25+
page.navigate("https://practicesoftwaretesting.com/contact");
1926
}
27+
}

src/test/java/com/serenitydojo/playwright/toolshop/catalog/pageobjects/ProductDetails.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,30 @@
22

33
import com.microsoft.playwright.Page;
44
import com.microsoft.playwright.options.AriaRole;
5+
import io.qameta.allure.Step;
56

67
public class ProductDetails {
7-
private final Page page;
8+
private final Page page;
89

9-
public ProductDetails(Page page) {
10-
this.page = page;
11-
}
10+
public ProductDetails(Page page) {
11+
this.page = page;
12+
}
1213

13-
public void increaseQuanityBy(int increment) {
14-
for (int i = 1; i <= increment; i++) {
15-
page.getByTestId("increase-quantity").click();
16-
}
14+
@Step("Increase product quantity")
15+
public void increaseQuanityBy(int increment) {
16+
for (int i = 1; i <= increment; i++) {
17+
page.getByTestId("increase-quantity").click();
1718
}
19+
}
1820

19-
public void addToCart() {
20-
page.waitForResponse(
21-
response -> response.url().contains("/carts") && response.request().method().equals("POST"),
22-
() -> {
23-
page.getByText("Add to cart").click();
24-
page.getByRole(AriaRole.ALERT).click();
25-
}
26-
);
27-
}
21+
@Step("Add to cart")
22+
public void addToCart() {
23+
page.waitForResponse(
24+
response -> response.url().contains("/carts") && response.request().method().equals("POST"),
25+
() -> {
26+
page.getByText("Add to cart").click();
27+
page.getByRole(AriaRole.ALERT).click();
28+
}
29+
);
2830
}
31+
}

src/test/java/com/serenitydojo/playwright/toolshop/catalog/pageobjects/ProductList.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.serenitydojo.playwright.toolshop.catalog.pageobjects;
22

33
import com.microsoft.playwright.Page;
4+
import io.qameta.allure.Step;
45

56
import java.util.List;
67

@@ -16,6 +17,7 @@ public List<String> getProductNames() {
1617
return page.getByTestId("product-name").allInnerTexts();
1718
}
1819

20+
@Step("View product details")
1921
public void viewProductDetails(String productName) {
2022
page.locator(".card").getByText(productName).click();
2123
}

src/test/java/com/serenitydojo/playwright/toolshop/contact/ContactFormTest.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.serenitydojo.playwright.toolshop.contact;
22

33
import com.microsoft.playwright.options.AriaRole;
4+
import com.serenitydojo.playwright.toolshop.catalog.pageobjects.NavBar;
45
import com.serenitydojo.playwright.toolshop.fixtures.PlaywrightTestCase;
6+
import io.qameta.allure.Allure;
57
import org.assertj.core.api.Assertions;
68
import org.junit.jupiter.api.BeforeEach;
79
import org.junit.jupiter.api.DisplayName;
@@ -15,15 +17,18 @@
1517

1618
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
1719

20+
@DisplayName("Contact form")
1821
public class ContactFormTest extends PlaywrightTestCase {
1922

2023
ContactForm contactForm;
24+
NavBar navigate;
2125

2226
@DisplayName("When submitting a request")
2327
@BeforeEach
2428
void openContactPage() {
2529
contactForm = new ContactForm(page);
26-
page.navigate("https://practicesoftwaretesting.com/contact");
30+
navigate = new NavBar(page);
31+
navigate.toTheContactPage();
2732
}
2833

2934
@DisplayName("Customers can use the contact form to contact us")
@@ -48,6 +53,8 @@ void completeForm() throws URISyntaxException {
4853
@ParameterizedTest
4954
@ValueSource(strings = {"First name", "Last name", "Email", "Message"})
5055
void mandatoryFields(String fieldName) {
56+
Allure.parameter("fieldName", fieldName);
57+
5158
// Fill in the field values
5259
contactForm.setFirstName("Sarah-Jane");
5360
contactForm.setLastName("Smith");
@@ -85,6 +92,7 @@ void messageTooShort() {
8592
@ParameterizedTest
8693
@ValueSource(strings = {"not-an-email", "not-an.email.com", "notanemail"})
8794
void invalidEmailField(String invalidEmail) {
95+
Allure.parameter("invalidEmail", invalidEmail);
8896

8997
contactForm.setFirstName("Sarah-Jane");
9098
contactForm.setLastName("Smith");
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
allure.results.directory=target/allure-results

0 commit comments

Comments
 (0)