Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pages;
- import java.util.List;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.interactions.Actions;
- import org.openqa.selenium.support.FindBy;
- import org.openqa.selenium.support.PageFactory;
- import org.openqa.selenium.support.ui.ExpectedConditions;
- import org.openqa.selenium.support.ui.Select;
- import org.openqa.selenium.support.ui.WebDriverWait;
- public class ProductConfig extends _TestBase {
- WebDriver driver;
- WebDriverWait wait;
- public ProductConfig(WebDriver driver) {
- this.driver = driver;
- PageFactory.initElements(driver,this);
- wait = new WebDriverWait(driver,10);
- }
- @FindBy (css=".btn-addtobasket") WebElement addToBasket;
- @FindBy (css="#blocker") WebElement blocker;
- @FindBy (css=".js-add-one") WebElement addOneItem;
- @FindBy (css="a[data-modal-open='ph-modal-pizza-config-base']") WebElement pizzaBaseChange;
- @FindBy (css="a[data-modal-open='ph-modal-pizza-config-size']") WebElement pizzaSizeChange;
- @FindBy (css="a[data-modal-open='ph-modal-pizza-config-ing']") WebElement pizzaIngredientsChange;
- @FindBy (css="#double-cheese-checkbox") WebElement doubleCheeseCheckbox;
- @FindBy (css="#ph-base-name span:nth-of-type(2)") WebElement pizzaBaseName;
- @FindBy (css="#ph-size-name span:nth-of-type(2)") WebElement pizzaSizeName;
- @FindBy (css="#ph-ingredients-name .item-detail") WebElement pizzaIngredientsNames;
- @FindBy (css="label[for='base-52']") WebElement panPizza;
- @FindBy (css="label[for='base-62']") WebElement traditionalBase;
- @FindBy (css="label[for='base-372']") WebElement traditionalBaseWithCheese;
- @FindBy (css="label[for='size-82022']") WebElement bigSize;
- @FindBy (xpath="//label[@class='pizza-base']") List <WebElement> pizzaBasesList;
- @FindBy (xpath="//label[@class='pizza-size']") List <WebElement> pizzaSizesList;
- @FindBy (css="label[for='size-82012']") WebElement mediumSize;
- @FindBy (xpath="//button[text()='Gotowe']") WebElement closePizzaBaseBox;
- @FindBy (css="div.list-group__item:nth-child(2) div.modal:nth-child(2) div.modal-fade-screen div.modal__inner.modal__narrow div.modal__intro > button.btn.btn--close.btn--rounded.ph-icon-close") WebElement closePizzaSizeBox;
- public void clickAddToBasket() throws InterruptedException{
- wait.until(ExpectedConditions.invisibilityOf(blocker));
- wait.until(ExpectedConditions.elementToBeClickable(addToBasket));
- addToBasket.click();
- Thread.sleep(1000);
- }
- public void clickAddOneItem() throws InterruptedException {
- wait.until(ExpectedConditions.invisibilityOf(blocker));
- wait.until(ExpectedConditions.elementToBeClickable(addOneItem));
- addOneItem.click();
- }
- public void clickPizzaBaseChange(){
- wait.until(ExpectedConditions.invisibilityOf(blocker));
- wait.until(ExpectedConditions.visibilityOf(pizzaBaseChange));
- pizzaBaseChange.click();
- }
- public void clickPizzaSizeChange() {
- wait.until(ExpectedConditions.invisibilityOf(blocker));
- wait.until(ExpectedConditions.visibilityOf(pizzaSizeChange));
- pizzaSizeChange.click();
- }
- public void selectPizzaPan(int panNumber){
- wait.until(ExpectedConditions.visibilityOfAllElements(pizzaBasesList));
- pizzaBasesList.get(panNumber).click();
- }
- public void selectPizzaSize(int sizeNumber){
- wait.until(ExpectedConditions.visibilityOfAllElements(pizzaSizesList));
- pizzaSizesList.get(sizeNumber).click();
- }
- public String getPizzaBaseName(){
- return pizzaBaseName.getText();
- }
- public String getPizzaSizeName(){
- return pizzaSizeName.getText();
- }
- public void clickClosePizzaBaseBox(){
- wait.until(ExpectedConditions.visibilityOf(closePizzaBaseBox));
- closePizzaBaseBox.click();
- }
- public void clickClosePizzaSizeBox(){
- wait.until(ExpectedConditions.visibilityOf(closePizzaSizeBox));
- closePizzaSizeBox.click();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment