Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pages;
- import java.util.List;
- import org.openqa.selenium.By;
- 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;
- import org.testng.Assert;
- public class Menu extends _TestBase {
- WebDriver driver;
- WebDriverWait wait;
- public Menu(WebDriver driver){
- this.driver = driver;
- PageFactory.initElements(driver,this);
- wait = new WebDriverWait(driver, 10);
- }
- // Actions actions = new Actions(driver);
- @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(1) > a") WebElement mealDealsMenu;
- @FindBy (css="li[data-category-slug='pizzas']") WebElement pizzaMenu;
- @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(3) > a") WebElement saladsMenu;
- @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(4) > a") WebElement przystawkiMenu;
- @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(5) > a") WebElement beveragesMenu;
- @FindBy (css="#ph-pizza-submenu-list > li:nth-of-type(6) > a") WebElement saucesMenu;
- @FindBy (css=".menu-item__content > h5") List<WebElement> nazwyproduktow;
- @FindBy (css=".meal_deals.show > div > a > div:nth-of-type(2) > h5") List <WebElement> mealdealsNames;
- @FindBy (css=".pizzas.show h5") List <WebElement> namesOfPizzas; //.pizza na stage
- @FindBy (css=".pizzas.show button") List <WebElement> pizzaOrderButtons; //.pizza na stage
- @FindBy (css=".js-go-to-basket") WebElement goToBasket;
- @FindBy (css="div.navigation-wrapper div.user-delivery:nth-child(3) > div:nth-child(1)") WebElement deliveryDetails;
- public void clickMelaDealsMenu(){
- mealDealsMenu.click();
- }
- public void clickPizzaMenu(){
- wait.until(ExpectedConditions.invisibilityOf(blocker));
- pizzaMenu.click();
- }
- public void clickSaladsMenu(){
- saladsMenu.click();
- }
- public void clickPrzystawki(){
- przystawkiMenu.click();
- }
- public void clickBeveragesMenu(){
- beveragesMenu.click();
- }
- public void clickSaucesMenu(){
- saucesMenu.click();
- }
- public void showMealDeals(){
- System.out.println(mealdealsNames.size());
- for (int i = 0; i < mealdealsNames.size(); i++) {
- System.out.println(mealdealsNames.get(i).getText());
- }
- }
- public void pokazNazwy(){
- System.out.println(nazwyproduktow.size());
- for (int i = 0; i < nazwyproduktow.size(); i++) {
- System.out.println(nazwyproduktow.get(i).getText());
- }
- }
- public void verifyNamesAndPrices(){
- System.out.println(mealdealsNames.size());
- for (int i = 0; i < mealdealsNames.size(); i++) {
- System.out.println(mealdealsNames.get(i).getText());
- }
- }
- public void clickGoToBasket() throws InterruptedException {
- wait.until(ExpectedConditions.visibilityOf(goToBasket));
- wait.until(ExpectedConditions.elementToBeClickable(goToBasket));
- goToBasket.click();
- }
- public void clickOnPizzaName(String itemName) throws InterruptedException {
- Actions action = new Actions(driver);
- Thread.sleep(500);
- for (int i=0;i<namesOfPizzas.size();i++) {
- if(namesOfPizzas.get(i).getText().equals(itemName)) {
- action.moveToElement(namesOfPizzas.get(i)).build().perform();
- wait.until(ExpectedConditions.elementToBeClickable(namesOfPizzas.get(i)));
- namesOfPizzas.get(i).click();
- }
- }
- }
- public void clickDeliveryDetails() {
- wait.until(ExpectedConditions.invisibilityOf(blocker));
- wait.until(ExpectedConditions.visibilityOf(deliveryDetails));
- deliveryDetails.click();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment