From 716c811657236be9cbf86a6d2fc4a8fc4643f2df Mon Sep 17 00:00:00 2001 From: Mavlushechka Date: Wed, 16 Nov 2022 17:16:13 +0500 Subject: Move elements and locators to class fields --- .../a1qa/project/pages/ProjectsPage.java | 23 ++++++++-------------- .../mavlushechka/a1qa/project/pages/TestsPage.java | 14 +++++-------- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/mavlushechka/a1qa/project/pages/ProjectsPage.java b/src/main/java/com/mavlushechka/a1qa/project/pages/ProjectsPage.java index aa7022d..e632ee1 100644 --- a/src/main/java/com/mavlushechka/a1qa/project/pages/ProjectsPage.java +++ b/src/main/java/com/mavlushechka/a1qa/project/pages/ProjectsPage.java @@ -3,6 +3,7 @@ package com.mavlushechka.a1qa.project.pages; import aquality.selenium.browser.AqualityServices; import aquality.selenium.elements.ElementType; import aquality.selenium.elements.interfaces.IButton; +import aquality.selenium.elements.interfaces.ILabel; import aquality.selenium.forms.Form; import com.mavlushechka.a1qa.framework.utils.IntegerUtils; import com.mavlushechka.a1qa.framework.utils.JsonParser; @@ -17,8 +18,12 @@ public class ProjectsPage extends Form { private final IButton addButton = AqualityServices.getElementFactory().getButton(By.xpath("//*[contains(@class,'panel-heading')]//a[@href='addProject']"), "Add project"); + private final ILabel versionLabel = AqualityServices.getElementFactory().getLabel(By.xpath("//*[contains(@class,'footer-text')]//span"), "Version"); + + private final By byProjectLabel = By.xpath("//*[contains(@class,'list-group')]//a[contains(@class,'list-group-item')]"); private final String url = JsonParser.parseData("config", "browser.url") + "/web/projects"; + private final String projectXpath = "//*[contains(@class,'panel')]//a[contains(@class,'list-group-item') and text()='%s']"; public ProjectsPage() { @@ -31,31 +36,19 @@ public class ProjectsPage extends Form { } public int getVersion() { - return IntegerUtils.parseInt( - AqualityServices.getElementFactory().get( - ElementType.LABEL, - By.xpath("//*[contains(@class,'footer-text')]//span"), - "Version" - ).getText() - ); + return IntegerUtils.parseInt(versionLabel.getText()); } public List getProjects() { List projects = new ArrayList<>(); - AqualityServices.getElementFactory().findElements( - By.xpath("//*[contains(@class,'list-group')]//a[contains(@class,'list-group-item')]"), ElementType.LABEL - ).forEach(element -> projects.add(element.getText())); + AqualityServices.getElementFactory().findElements(byProjectLabel, ElementType.LABEL).forEach(element -> projects.add(element.getText())); return projects; } public void openProject(String projectName) { - AqualityServices.getElementFactory().get( - ElementType.BUTTON, - By.xpath("//*[contains(@class,'panel')]//a[contains(@class,'list-group-item') and text()='%s']".formatted(projectName)), - "Project" - ).clickAndWait(); + AqualityServices.getElementFactory().getButton(By.xpath(projectXpath.formatted(projectName)), "Project").clickAndWait(); } public void clickOnAddButton() { diff --git a/src/main/java/com/mavlushechka/a1qa/project/pages/TestsPage.java b/src/main/java/com/mavlushechka/a1qa/project/pages/TestsPage.java index 287fd94..4583a39 100644 --- a/src/main/java/com/mavlushechka/a1qa/project/pages/TestsPage.java +++ b/src/main/java/com/mavlushechka/a1qa/project/pages/TestsPage.java @@ -15,20 +15,16 @@ import java.util.List; public class TestsPage extends Form { + private final By runningTest = By.xpath("//*[contains(@class,'panel')]//table[contains(@class,'table')]//tbody//td"); + + public TestsPage() { super(By.id("pie"), "Tests"); } public List getAllRunningTests() { - AqualityServices.getConditionalWait().waitFor( - () -> AqualityServices.getElementFactory().findElements( - By.xpath("//*[contains(@class,'panel')]//table[contains(@class,'table')]//tbody//td"), ElementType.LABEL - ).size() > 5 - ); - List testsData = AqualityServices.getElementFactory().findElements( - By.xpath("//*[contains(@class,'panel')]//table[contains(@class,'table')]//tbody//td"), - ElementType.LABEL - ); + AqualityServices.getConditionalWait().waitFor(() -> AqualityServices.getElementFactory().findElements(runningTest, ElementType.LABEL).size() > 5); + List testsData = AqualityServices.getElementFactory().findElements(runningTest, ElementType.LABEL); List runningTests = new ArrayList<>(); for (int i = 0; i < testsData.size(); i += 7) { -- cgit v1.2.3