meusx

PageObject1.java

Jul 12th, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.94 KB | None | 0 0
  1. package pages;
  2. import java.util.List;
  3.  
  4. import org.openqa.selenium.WebDriver;
  5.  
  6. import org.openqa.selenium.WebElement;
  7. import org.openqa.selenium.interactions.Actions;
  8. import org.openqa.selenium.support.FindBy;
  9. import org.openqa.selenium.support.PageFactory;
  10. import org.openqa.selenium.support.ui.ExpectedConditions;
  11. import org.openqa.selenium.support.ui.Select;
  12. import org.openqa.selenium.support.ui.WebDriverWait;
  13.  
  14.  
  15. public class ProductConfig extends _TestBase {
  16.    
  17.     WebDriver driver;
  18.     WebDriverWait wait;
  19.    
  20.     public ProductConfig(WebDriver driver) {
  21.         this.driver = driver;
  22.         PageFactory.initElements(driver,this);
  23.         wait = new WebDriverWait(driver,10);
  24.     }
  25.  
  26.  
  27.  
  28.     @FindBy (css=".btn-addtobasket") WebElement addToBasket;
  29.     @FindBy (css="#blocker") WebElement blocker;
  30.     @FindBy (css=".js-add-one") WebElement addOneItem;
  31.     @FindBy (css="a[data-modal-open='ph-modal-pizza-config-base']") WebElement pizzaBaseChange;
  32.     @FindBy (css="a[data-modal-open='ph-modal-pizza-config-size']") WebElement pizzaSizeChange;
  33.     @FindBy (css="a[data-modal-open='ph-modal-pizza-config-ing']") WebElement pizzaIngredientsChange;
  34.     @FindBy (css="#double-cheese-checkbox") WebElement doubleCheeseCheckbox;
  35.     @FindBy (css="#ph-base-name span:nth-of-type(2)") WebElement pizzaBaseName;
  36.     @FindBy (css="#ph-size-name span:nth-of-type(2)") WebElement pizzaSizeName;
  37.     @FindBy (css="#ph-ingredients-name .item-detail") WebElement pizzaIngredientsNames;
  38.     @FindBy (css="label[for='base-52']") WebElement panPizza;
  39.     @FindBy (css="label[for='base-62']") WebElement traditionalBase;
  40.     @FindBy (css="label[for='base-372']") WebElement traditionalBaseWithCheese;
  41.     @FindBy (css="label[for='size-82022']") WebElement bigSize;
  42.     @FindBy (xpath="//label[@class='pizza-base']") List <WebElement> pizzaBasesList;
  43.     @FindBy (xpath="//label[@class='pizza-size']") List <WebElement> pizzaSizesList;
  44.     @FindBy (css="label[for='size-82012']") WebElement mediumSize;
  45.     @FindBy (xpath="//button[text()='Gotowe']") WebElement closePizzaBaseBox;
  46.     @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;
  47.    
  48.    
  49.    
  50.    
  51.    
  52.     public void clickAddToBasket() throws InterruptedException{
  53.         wait.until(ExpectedConditions.invisibilityOf(blocker));
  54.         wait.until(ExpectedConditions.elementToBeClickable(addToBasket));
  55.         addToBasket.click();
  56.         Thread.sleep(1000);
  57.     }
  58.     public void clickAddOneItem() throws InterruptedException {
  59.         wait.until(ExpectedConditions.invisibilityOf(blocker));
  60.         wait.until(ExpectedConditions.elementToBeClickable(addOneItem));
  61.         addOneItem.click();
  62.     }
  63.     public void clickPizzaBaseChange(){
  64.         wait.until(ExpectedConditions.invisibilityOf(blocker));
  65.         wait.until(ExpectedConditions.visibilityOf(pizzaBaseChange));
  66.         pizzaBaseChange.click();
  67.     }
  68.     public void clickPizzaSizeChange() {
  69.         wait.until(ExpectedConditions.invisibilityOf(blocker));
  70.         wait.until(ExpectedConditions.visibilityOf(pizzaSizeChange));
  71.         pizzaSizeChange.click();
  72.     }
  73.     public void selectPizzaPan(int panNumber){
  74.         wait.until(ExpectedConditions.visibilityOfAllElements(pizzaBasesList));
  75.         pizzaBasesList.get(panNumber).click();
  76.     }
  77.     public void selectPizzaSize(int sizeNumber){
  78.         wait.until(ExpectedConditions.visibilityOfAllElements(pizzaSizesList));
  79.         pizzaSizesList.get(sizeNumber).click();
  80.     }
  81.     public String getPizzaBaseName(){
  82.         return pizzaBaseName.getText();
  83.     }
  84.     public String getPizzaSizeName(){
  85.         return pizzaSizeName.getText();
  86.     }
  87.     public void clickClosePizzaBaseBox(){
  88.         wait.until(ExpectedConditions.visibilityOf(closePizzaBaseBox));
  89.         closePizzaBaseBox.click();
  90.     }
  91.     public void clickClosePizzaSizeBox(){
  92.         wait.until(ExpectedConditions.visibilityOf(closePizzaSizeBox));
  93.         closePizzaSizeBox.click();
  94.     }
  95.  
  96. }
Advertisement
Add Comment
Please, Sign In to add comment