/**
* 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());
}
}