com.francetelecom.clara.cloud.webapp.acceptancetest.pages.HomePage.java Source code

Java tutorial

Introduction

Here is the source code for com.francetelecom.clara.cloud.webapp.acceptancetest.pages.HomePage.java

Source

/**
 * Copyright (C) 2015 Orange
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.francetelecom.clara.cloud.webapp.acceptancetest.pages;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HomePage extends BasePage {

    @FindBy(name = "appsLink")
    private WebElement appsLink;

    @FindBy(name = "releasesLink")
    private WebElement releasesLink;

    @FindBy(name = "envsLink")
    private WebElement envsLink;

    @FindBy(id = "signin_link")
    private WebElement logoutLink;

    Logger logger = LoggerFactory.getLogger(HomePage.class);

    public HomePage(WebDriver wd) {
        super(wd);
        logger.debug("current url is : " + wd.getCurrentUrl());
        logger.debug("page title : " + wd.getTitle());
        // assert that we are on the right page
        if (!"orange paas - home page".equals(wd.getTitle())) {
            throw new IllegalStateException("this is not the home page, title page = " + wd.getTitle());
        }
        logger.debug("you are in home page");
    }

    public ApplicationsOverviewPage displayApplicationsOverviewPage() {
        // click on "applications" in menu
        appsLink.click();
        logger.debug("applications link has been clicked");
        return PageFactory.initElements(getWd(), ApplicationsOverviewPage.class);
    }

    public ReleasesOverviewPage displayReleasesOverviewPage() {
        // click on "releases" in menu
        releasesLink.click();
        logger.debug("releases link has been clicked");
        return PageFactory.initElements(getWd(), ReleasesOverviewPage.class);
    }

    public EnvironmentsOverviewPage displayEnvironmentsOverviewPage() {
        // click on "environments" in menu
        envsLink.click();
        logger.debug("environments link has been clicked");
        return PageFactory.initElements(getWd(), EnvironmentsOverviewPage.class);
    }

    public PopulatePage displayPopulatePage(String populatePageURL) {
        // select populate datas url
        getWd().get(populatePageURL);
        logger.debug("populate datas url has been entered");
        return PageFactory.initElements(getWd(), PopulatePage.class);
    }

    public LoginPage logout() {
        // click on "releases" in menu
        logoutLink.click();
        logger.debug("logout link has been clicked");
        getWd().switchTo().alert().accept();
        return new LoginPage(getWd());

    }
}