001/*
002 * (C) Copyright 2012 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 *
016 * Contributors:
017 *     Anahide Tchertchian
018 */
019package org.nuxeo.functionaltests.forms;
020
021import org.openqa.selenium.WebDriver;
022import org.openqa.selenium.WebElement;
023
024/**
025 * Represents a simple widget element, with helper methods to set/get values on it, depending on the mode.
026 *
027 * @since 5.7
028 */
029public class WidgetElement extends AbstractWidgetElement {
030
031    public WidgetElement(WebDriver driver, String id) {
032        super(driver, id);
033    }
034
035    public WidgetElement(WebDriver driver, WebElement element) {
036        super(driver, element.getAttribute("id"));
037    }
038
039    public WebElement getInputElement() {
040        return getElement(id);
041    }
042
043    public WebElement getOutputElement() {
044        return getElement(id);
045    }
046
047    public String getValue(boolean isEdit) {
048        if (isEdit) {
049            return getInputValue();
050        } else {
051            return getOutputValue();
052        }
053    }
054
055    public String getOutputValue() {
056        return getOutputElement().getText();
057    }
058
059    public void setInputValue(String value) {
060        setInput(getInputElement(), value);
061    }
062
063    public String getInputValue() {
064        return getInputElement().getAttribute("value");
065    }
066
067}