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 { 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(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) { 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; } }