/*******************************************************************************
* Copyright (c) 2015 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.vpe.reddeer.utils;
import org.jboss.reddeer.core.util.Display;
import org.jboss.reddeer.core.util.ResultRunnable;
import org.jboss.reddeer.swt.api.Browser;
/**
* Utils to handle RedDeer browser
* @author vlado pakan
*
*/
public class BrowserUtils {
/**
* Returns true when browser contains node with searchText value
* @param browser
* @param searchText
* @return
*/
public static boolean containsNodeWithValue(final Browser browser, final String searchText) {
return getBrowserTextContent(browser).contains(searchText);
}
/**
* Returns true when browser DOM model contains searchText
* @param browser
* @param searchText
* @return
*/
public static boolean containsStringValue(final Browser browser, final String searchText) {
return getBrowserDomContent(browser).contains(searchText);
}
/**
* Returns String representing DOM model of browser
* @param browser
* @return
*/
public static String getBrowserDomContent (final Browser browser){
return Display.syncExec(new ResultRunnable<String>() {
@Override
public String run() {
return browser.getSWTWidget().evaluate("return document.documentElement.textContent").toString();
}
});
}
/**
* Returns String representing text values of browser content
* @param browser
* @return
*/
public static String getBrowserTextContent (final Browser browser){
return Display.syncExec(new ResultRunnable<String>() {
@Override
public String run() {
return browser.getSWTWidget().evaluate("return document.documentElement.innerHTML").toString();
}
});
}
}