78 lines
2.4 KiB
Java
78 lines
2.4 KiB
Java
package page;
|
|
|
|
import org.openqa.selenium.By;
|
|
import org.openqa.selenium.JavascriptExecutor;
|
|
import org.openqa.selenium.WebDriver;
|
|
import org.openqa.selenium.WebElement;
|
|
import org.openqa.selenium.support.FindBy;
|
|
import org.openqa.selenium.support.ui.ExpectedConditions;
|
|
import org.openqa.selenium.support.ui.WebDriverWait;
|
|
|
|
import java.util.List;
|
|
import java.lang.reflect.Method;
|
|
|
|
public class QuestionsAndAnswersPage {
|
|
private WebDriver driver;
|
|
|
|
@FindBy(xpath = "//*[@id=\"MainContent\"]/div[1]/div/span[3]/a")
|
|
private WebElement filterByRatingButton;
|
|
|
|
@FindBy(css = ".rating-num-plus")
|
|
private List<WebElement> ratingPlusList;
|
|
|
|
@FindBy(css = ".rating-num-minus")
|
|
private List<WebElement> ratingMinusList;
|
|
|
|
@FindBy(xpath = "//*[@id=\"NewQuestion\"]")
|
|
private WebElement inputTextField;
|
|
|
|
@FindBy(xpath = "//*[@id=\"AddQuestionButton\"]")
|
|
private WebElement submitButton;
|
|
|
|
@FindBy(css = ".panel-text")
|
|
private List<WebElement> questionsList;
|
|
|
|
public QuestionsAndAnswersPage(WebDriver driver) {
|
|
this.driver = driver;
|
|
}
|
|
|
|
public void filterByRatingClick(){
|
|
filterByRatingButton.click();
|
|
}
|
|
|
|
public boolean checkRatingOrder() {
|
|
try {
|
|
Thread.sleep(2000);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
boolean checkRatingOrder = true;
|
|
int pastRating = Integer.parseInt(ratingPlusList.get(0).getText())+Integer.parseInt(ratingMinusList.get(0).getText());
|
|
for (int i=1; i<ratingPlusList.size(); i++){
|
|
int currentRating = Integer.parseInt(ratingPlusList.get(i).getText())+Integer.parseInt(ratingMinusList.get(i).getText());
|
|
if(pastRating >= currentRating){checkRatingOrder = true; pastRating=currentRating; }
|
|
else {checkRatingOrder = false; break;}
|
|
|
|
}
|
|
return checkRatingOrder;
|
|
}
|
|
|
|
public boolean isQuestionPresent(String str){
|
|
boolean check = false;
|
|
for (int i=0; i<questionsList.size(); i++) {
|
|
if (questionsList.get(i).getText().equals(str)) {
|
|
check = true;
|
|
break;
|
|
}
|
|
}
|
|
return check;
|
|
}
|
|
|
|
public void setText(String str) {
|
|
inputTextField.sendKeys(str);
|
|
}
|
|
|
|
public void submitButtonClick(){
|
|
submitButton.click();
|
|
}
|
|
} |