import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; public class UniMarburgDp12Page extends UniMarburgPage { public static final String DP_12_TITLE = "Philipps-Universität Marburg - Mathematik und Informatik"; private static final Map topics = Map.of( "Department", By.xpath("//div[@id=\'section-navigation\']/div/ul/li[2]/a"), "Studying", By.xpath("//div[@id=\'section-navigation\']/div/ul/li[3]/a"), "Research", By.xpath("//div[@id=\'section-navigation\']/div/ul/li[4]/a"), "Research groups", By.xpath("//div[@id=\'section-navigation\']/div/ul/li[5]/a") ); private static final By MODULES_AND_COURSES_SELECTOR = By.cssSelector("li:nth-child(4) > a > div"); private static final By MODULE_GUIDE_SELECTOR = By.cssSelector(".link-text-list:nth-child(6) .diazoadded"); public UniMarburgDp12Page(WebDriver driver) { super(driver); } public void checkMenuItems() { for (String item : topics.keySet()) { assertEquals(item, driver.findElement(topics.get(item)).getText()); } } public void checkAndSelectModulesAndCourses() { driver.findElement(topics.get("Studying")).click(); assertEquals("Modules & Courses\nModules and Courses", driver.findElement(MODULES_AND_COURSES_SELECTOR).getText()); driver.findElement(MODULES_AND_COURSES_SELECTOR).click(); } public ModuleHandbookPage checkAndOpenModuleGuide() { assertEquals(("directly to the online module guide"), driver.findElement(MODULE_GUIDE_SELECTOR).getText()); driver.findElement(MODULE_GUIDE_SELECTOR).click(); return new ModuleHandbookPage(driver); } }