From 7e589d02605f912a8af2d70dc3227cbc24455c62 Mon Sep 17 00:00:00 2001 From: Mavlushechka Date: Wed, 16 Nov 2022 21:52:16 +0500 Subject: Add getProjectId(String projectName) to the ProjectsPage class --- .../mavlushechka/a1qa/project/pages/ProjectsPage.java | 4 ++++ src/main/resources/testData.json | 5 +---- .../java/com/mavlushechka/a1qa/project/TestCase1.java | 17 +++++++++-------- 3 files changed, 14 insertions(+), 12 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 e632ee1..042445b 100644 --- a/src/main/java/com/mavlushechka/a1qa/project/pages/ProjectsPage.java +++ b/src/main/java/com/mavlushechka/a1qa/project/pages/ProjectsPage.java @@ -51,6 +51,10 @@ public class ProjectsPage extends Form { AqualityServices.getElementFactory().getButton(By.xpath(projectXpath.formatted(projectName)), "Project").clickAndWait(); } + public int getProjectId(String projectName) { + return Integer.parseInt(AqualityServices.getElementFactory().getButton(By.xpath(projectXpath.formatted(projectName)), "Project").getAttribute("id")); + } + public void clickOnAddButton() { addButton.click(); } diff --git a/src/main/resources/testData.json b/src/main/resources/testData.json index c50c13d..c369e10 100644 --- a/src/main/resources/testData.json +++ b/src/main/resources/testData.json @@ -4,8 +4,5 @@ "login": "", "password": "" }, - "project": { - "name": "Nexage", - "id": "1" - } + "projectName": "Nexage" } \ No newline at end of file diff --git a/src/test/java/com/mavlushechka/a1qa/project/TestCase1.java b/src/test/java/com/mavlushechka/a1qa/project/TestCase1.java index d827f04..d99b8e4 100644 --- a/src/test/java/com/mavlushechka/a1qa/project/TestCase1.java +++ b/src/test/java/com/mavlushechka/a1qa/project/TestCase1.java @@ -38,14 +38,15 @@ public class TestCase1 extends BaseTest { AqualityServices.getBrowser().refresh(); Assert.assertEquals(projectsPage.getVersion(), variant, "The variant is not correct."); + String projectName = JsonParser.parseData("testData", "projectName"); AqualityServices.getLogger().info("Step 3:", "Go to the Nexage project page. Query the api to get a list of tests in JSON/XML format."); - projectsPage.openProject(JsonParser.parseData("testData", "project.name")); + projectsPage.openProject(projectName); TestsPage testsPage = new TestsPage(); Assert.assertTrue(testsPage.state().waitForDisplayed(), "The %s page is not opened.".formatted(testsPage.getName())); List allRunningTestsOnSite = testsPage.getAllRunningTests(); Assert.assertTrue(Collections.isSortedDescending(allRunningTestsOnSite), "Tests are not sorted in descending order."); Object[] objectsOfAllRunningTestsReceivedByApi = JsonParser.convertArray( - SiteApiUtils.getTestsJson(Integer.parseInt(JsonParser.parseData("testData", "project.id"))), + SiteApiUtils.getTestsJson(projectsPage.getProjectId(projectName)), com.mavlushechka.a1qa.project.models.Test.class ); ArrayList allRunningTestsReceivedByApi = new ArrayList<>(); @@ -66,21 +67,21 @@ public class TestCase1 extends BaseTest { Integer.parseInt(JsonParser.parseData("config", "randomTextGenerator.lettersUpperBound")), Integer.parseInt(JsonParser.parseData("config", "randomTextGenerator.length")) ); - String projectName = randomTextGenerator.get(); - addProjectPage.saveProject(projectName); - Assert.assertTrue(addProjectPage.isProjectSaved(projectName), "The project is not saved."); + String randomProjectName = randomTextGenerator.get(); + addProjectPage.saveProject(randomProjectName); + Assert.assertTrue(addProjectPage.isProjectSaved(randomProjectName), "The project is not saved."); String currentTabHandle = AqualityServices.getBrowser().tabs().getCurrentTabHandle(); AqualityServices.getBrowser().tabs().closeTab(); Assert.assertFalse(AqualityServices.getBrowser().tabs().getTabHandles().contains(currentTabHandle), "The tab is not closed."); AqualityServices.getBrowser().tabs().switchToLastTab(); AqualityServices.getBrowser().refresh(); - Assert.assertTrue(projectsPage.getProjects().contains(projectName), "The project is not saved."); + Assert.assertTrue(projectsPage.getProjects().contains(randomProjectName), "The project is not saved."); AqualityServices.getLogger().info("Step 5:", "Go to the created project page. Add test via API (along with log and screenshot of current page)."); - projectsPage.openProject(projectName); + projectsPage.openProject(randomProjectName); String testName = randomTextGenerator.get(); int testId = SiteApiUtils.putTest( - randomTextGenerator.get(), projectName, testName, randomTextGenerator.get(), randomTextGenerator.get() + randomTextGenerator.get(), randomProjectName, testName, randomTextGenerator.get(), randomTextGenerator.get() ); Assert.assertTrue(testsPage.getAllRunningTests().stream().anyMatch(test -> Objects.equals(test.name(), testName)), "The test is not added."); SiteApiUtils.putLogToTest(testId, randomTextGenerator.get()); -- cgit v1.2.3