meusx

PageObject2

Jul 12th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.76 KB | None | 0 0
  1. package pages;
  2.  
  3. import java.util.List;
  4.  
  5. import org.openqa.selenium.By;
  6. import org.openqa.selenium.WebDriver;
  7. import org.openqa.selenium.WebElement;
  8. import org.openqa.selenium.interactions.Actions;
  9. import org.openqa.selenium.support.FindBy;
  10. import org.openqa.selenium.support.PageFactory;
  11. import org.openqa.selenium.support.ui.ExpectedConditions;
  12. import org.openqa.selenium.support.ui.Select;
  13. import org.openqa.selenium.support.ui.WebDriverWait;
  14. import org.testng.Assert;
  15. public class Menu extends _TestBase {
  16.    
  17.     WebDriver driver;
  18.     WebDriverWait wait;
  19.    
  20.     public Menu(WebDriver driver){
  21.         this.driver = driver;
  22.         PageFactory.initElements(driver,this);
  23.         wait = new WebDriverWait(driver, 10);
  24.        
  25.     }  
  26.     // Actions actions = new Actions(driver);
  27.    
  28.     @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(1) > a") WebElement mealDealsMenu;
  29.     @FindBy (css="li[data-category-slug='pizzas']") WebElement pizzaMenu;
  30.     @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(3) > a") WebElement saladsMenu;
  31.     @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(4) > a") WebElement przystawkiMenu;
  32.     @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(5) > a") WebElement beveragesMenu;
  33.     @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(6) > a") WebElement saucesMenu;
  34.     @FindBy (css=".menu-item__content > h5") List<WebElement> nazwyproduktow;
  35.     @FindBy (css=".meal_deals.show > div > a > div:nth-of-type(2) > h5") List <WebElement> mealdealsNames;
  36.     @FindBy (css=".pizzas.show h5") List <WebElement> namesOfPizzas;  //.pizza na stage
  37.     @FindBy (css=".pizzas.show button") List <WebElement> pizzaOrderButtons;    //.pizza na stage
  38.     @FindBy (css=".js-go-to-basket") WebElement goToBasket;
  39.     @FindBy (css="div.navigation-wrapper div.user-delivery:nth-child(3) > div:nth-child(1)") WebElement deliveryDetails;
  40.  
  41.  
  42.  
  43.  
  44.     public void clickMelaDealsMenu(){
  45.         mealDealsMenu.click();
  46.     }
  47.     public void clickPizzaMenu(){
  48.         wait.until(ExpectedConditions.invisibilityOf(blocker));
  49.         pizzaMenu.click();
  50.     }
  51.     public void clickSaladsMenu(){
  52.         saladsMenu.click();
  53.     }
  54.     public void clickPrzystawki(){
  55.         przystawkiMenu.click();
  56.     }
  57.     public void clickBeveragesMenu(){
  58.         beveragesMenu.click();
  59.     }
  60.     public void clickSaucesMenu(){
  61.         saucesMenu.click();
  62.     }
  63.     public void showMealDeals(){
  64.         System.out.println(mealdealsNames.size());
  65.         for (int i = 0; i < mealdealsNames.size(); i++) {
  66.             System.out.println(mealdealsNames.get(i).getText());
  67.         }
  68.     }
  69.     public void pokazNazwy(){
  70.         System.out.println(nazwyproduktow.size());
  71.         for (int i = 0; i < nazwyproduktow.size(); i++) {
  72.             System.out.println(nazwyproduktow.get(i).getText());
  73.         }
  74.     }
  75.     public void verifyNamesAndPrices(){
  76.         System.out.println(mealdealsNames.size());
  77.         for (int i = 0; i < mealdealsNames.size(); i++) {
  78.             System.out.println(mealdealsNames.get(i).getText());
  79.         }
  80.     }
  81.     public void clickGoToBasket() throws InterruptedException {
  82.         wait.until(ExpectedConditions.visibilityOf(goToBasket));
  83.         wait.until(ExpectedConditions.elementToBeClickable(goToBasket));
  84.         goToBasket.click();
  85.     }
  86.     public void clickOnPizzaName(String itemName) throws InterruptedException {
  87.         Actions action = new Actions(driver);
  88.         Thread.sleep(500);
  89.         for (int i=0;i<namesOfPizzas.size();i++) {
  90.             if(namesOfPizzas.get(i).getText().equals(itemName)) {
  91.                 action.moveToElement(namesOfPizzas.get(i)).build().perform();  
  92.                 wait.until(ExpectedConditions.elementToBeClickable(namesOfPizzas.get(i)));
  93.                 namesOfPizzas.get(i).click();
  94.             }              
  95.         }  
  96.     }
  97.     public void clickDeliveryDetails() {
  98.         wait.until(ExpectedConditions.invisibilityOf(blocker));
  99.         wait.until(ExpectedConditions.visibilityOf(deliveryDetails));
  100.         deliveryDetails.click();
  101.     }
  102.    
  103.  
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment