diff options
Diffstat (limited to 'src/main/java/com/mavlushechka')
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/project/pages/TestsPage.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/main/java/com/mavlushechka/a1qa/project/pages/TestsPage.java b/src/main/java/com/mavlushechka/a1qa/project/pages/TestsPage.java new file mode 100644 index 0000000..7b2cfe7 --- /dev/null +++ b/src/main/java/com/mavlushechka/a1qa/project/pages/TestsPage.java @@ -0,0 +1,51 @@ +package com.mavlushechka.a1qa.project.pages; + +import aquality.selenium.browser.AqualityServices; +import aquality.selenium.elements.ElementType; +import aquality.selenium.elements.interfaces.IElement; +import aquality.selenium.forms.Form; +import com.mavlushechka.a1qa.framework.utils.StringUtils; +import com.mavlushechka.a1qa.project.constants.Result; +import com.mavlushechka.a1qa.project.models.Test; +import org.openqa.selenium.By; + +import java.util.ArrayList; +import java.util.List; + +public class TestsPage extends Form { + + + public TestsPage() { + super(By.id("pie"), "Tests"); + } + + public List<Test> getAllRunningTests() { + AqualityServices.getConditionalWait().waitFor( + () -> AqualityServices.getElementFactory().findElements( + By.xpath("//*[contains(@class, 'panel')]//table[contains(@class, 'table')]//tbody//td"), ElementType.LABEL + ).size() != 0 + ); + List<IElement> testsData = AqualityServices.getElementFactory().findElements( + By.xpath("//*[contains(@class, 'panel')]//table[contains(@class, 'table')]//tbody//td"), + ElementType.LABEL + ); + List<Test> runningTests = new ArrayList<>(); + + for (int i = 0; i < testsData.size(); i += 7) { + runningTests.add( + new Test( + testsData.get(i).getText(), + testsData.get(i + 1).getText(), + Result.valueOf(StringUtils.convertToConstantCase(testsData.get(i + 2).getText())), + testsData.get(i + 3).getText(), + testsData.get(i + 4).getText(), + testsData.get(i + 5).getText() + ) + ); + } + + return runningTests; + } + + +} |