Package com.ibm.sbt.automation.core.test

Source Code of com.ibm.sbt.automation.core.test.BaseSampleFrameworkTest

/*
* © Copyright IBM Corp. 2013
*
* 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.ibm.sbt.automation.core.test;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import com.ibm.sbt.automation.core.test.pageobjects.ResultPage;
import com.ibm.sbt.automation.core.test.pageobjects.SampleFrameworkResultPage;

/**
* @author Francis
* @date 24 May 2013
*/
public class BaseSampleFrameworkTest extends BaseTest {

    public BaseSampleFrameworkTest() {
        authType = AuthType.NONE;
    }

    /**
     * Launch the Sample Framework
     *
     * @param snippetId
     * @return the result page
     */
    protected SampleFrameworkResultPage launchSampleFramework() {
        ResultPage resultPage = super.launchSnippet("");
        return wrapResultPage(resultPage);
    }

    /**
     * Wrap the environment result page in a SampleFrameworkResultPage
     *
     * @param resultPage
     * @return the result page
     */
    protected SampleFrameworkResultPage wrapResultPage(ResultPage resultPage) {
        return new SampleFrameworkResultPage(resultPage);
    }

    @Override
    protected boolean isEnvironmentValid() {
        return super.isEnvironmentValid();
    }
   
    public void toIframeContext(SampleFrameworkResultPage resultPage) {
        WebElement iframeNode = resultPage.getPreviewFrame();
        resultPage.getWebDriver().switchTo().frame(iframeNode);
    }
   
    public void clickLeafNode(SampleFrameworkResultPage resultPage) {
        WebElement leafNode = resultPage.getTreeLeaf();
        leafNode.click();
    }
   
    /*
     * Check if the tree is displayed on the page
     *
     * @param snippetId - the sample framework page
     * @return true if displayed
     */
    public boolean checkTree(SampleFrameworkResultPage resultPage) {
        return resultPage.getTree().isDisplayed();
    }
   
    public boolean checkSmartcloudNavBar(SampleFrameworkResultPage resultPage){
        return resultPage.getSmartcloudNavBar().isDisplayed();
    }
   
    /*
     * Check if the Sample Framework's main content is displayed on the page
     *
     * @param resultPage - The sample framework page
     * @return true if displayed
     */
    public boolean checkMainContent(SampleFrameworkResultPage resultPage) {
        return resultPage.getMainContent().isDisplayed();
    }
   
    /*
     * Check if clicking a leaf node populates the iframe. NOTE: Switch context to the iframe first.
     *
     * @param snippetId - the sample framework page
     * @return true if displayed
     */
    public boolean checkIframe(SampleFrameworkResultPage resultPage) {
        WebDriverWait wait = new WebDriverWait(resultPage.getWebDriver(), 20l);
        WebElement iframeBody = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("body")));
        String bodyClass = iframeBody.getAttribute("class");
       
        return bodyClass != null;
    }
  
@Override
public String getAuthenticatedCondition() {
    return "idWithText";
}
@Override
public String getAuthenticatedMatch() {
    return "tree";
}

}
TOP

Related Classes of com.ibm.sbt.automation.core.test.BaseSampleFrameworkTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.