82 lines
2.6 KiB
Java
82 lines
2.6 KiB
Java
package students;
|
|
|
|
import core.PageObject;
|
|
import org.openqa.selenium.By;
|
|
import org.openqa.selenium.Keys;
|
|
import org.openqa.selenium.WebElement;
|
|
|
|
import java.util.List;
|
|
|
|
public class TaskPage extends PageObject {
|
|
|
|
@Override
|
|
public String getSubTitle() {
|
|
return driver.findElement(By.tagName("h3")).getText();
|
|
}
|
|
|
|
public void setName(String name) {
|
|
driver.findElement(By.id("title")).sendKeys(name);
|
|
}
|
|
|
|
public void save() {
|
|
driver.findElement(By.id("sendMessageButton")).click();
|
|
}
|
|
|
|
public void addDeadlineDate(String deadDate, Integer deadNum) {
|
|
driver.findElement(By.id(String.format("deadlines%d.date", deadNum))).sendKeys(deadDate);
|
|
}
|
|
|
|
public void addDeadlineDescription(String deadDescr, Integer deadNum) {
|
|
driver.findElement(By.id(String.format("deadlines%d.description", deadNum))).sendKeys(deadDescr);
|
|
}
|
|
|
|
public void removeName() {
|
|
driver.findElement(By.id("title")).clear();
|
|
}
|
|
|
|
public String getId() {
|
|
return driver.findElement(By.id("id")).getAttribute("value");
|
|
}
|
|
|
|
public Integer getDeadNum() {
|
|
return driver.findElements(By.cssSelector("#task-form .form-group:nth-of-type(5) .row")).size();
|
|
}
|
|
|
|
public void clickAddDeadline() {
|
|
driver.findElement(By.cssSelector("#addDeadline")).click();
|
|
}
|
|
|
|
private List<WebElement> getDeadlines() {
|
|
return driver.findElements(By.cssSelector(".form-group:nth-of-type(5) .row"));
|
|
}
|
|
|
|
public void deleteDeadline() {
|
|
driver.findElement(By.xpath("//*[@id=\"task-form\"]/div/div[1]/div[5]/div[1]/div[3]/a")).click();
|
|
|
|
}
|
|
|
|
public void clearDeadlineDate(Integer deadNum) {
|
|
driver.findElement(By.id(String.format("deadlines%d.date", deadNum))).sendKeys(Keys.DELETE);
|
|
}
|
|
|
|
public void clearDeadlineDescription(Integer deadNum) {
|
|
driver.findElement(By.id(String.format("deadlines%d.description", deadNum))).clear();
|
|
}
|
|
|
|
public boolean hasDeadline(String deadDescr, String deadValue) {
|
|
return getDeadlines()
|
|
.stream()
|
|
.anyMatch(webElement -> {
|
|
return webElement.findElement(By.cssSelector("input[type=\"text\"]")).getAttribute("value").equals(deadDescr)
|
|
&& webElement.findElement(By.cssSelector("input[type=\"date\"]")).getAttribute("value").equals(deadValue);
|
|
});
|
|
}
|
|
|
|
public void setTag(String tag) {
|
|
driver.findElement(By.className("input-tag-name")).sendKeys(tag);
|
|
driver.findElement(By.className("input-tag-name")).sendKeys(Keys.ENTER);
|
|
}
|
|
|
|
|
|
}
|