okw.gui.adapter.selenium.SeTextarea.java Source code

Java tutorial

Introduction

Here is the source code for okw.gui.adapter.selenium.SeTextarea.java

Source

package okw.gui.adapter.selenium;

import java.util.ArrayList;

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;

import okw.OKW_Const_Sngltn;
import okw.gui.OKWLocator;

/*
==============================================================================
  Author: Zoltan Hrabovszki <zh@openkeyword.de>
    
  Copyright  2012, 2013, 2014, 2015, 2016 IT-Beratung Hrabovszki
  www.OpenKeyWord.de
============================================================================== 
    
This file is part of OpenKeyWord.
    
OpenKeyWord is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
    
OpenKeyWord is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with OpenKeyWord.  If not, see <http://www.gnu.org/licenses/>.
    
Diese Datei ist Teil von OpenKeyWord.
    
OpenKeyWord ist Freie Software: Sie knnen es unter den Bedingungen
der GNU General Public License, wie von der Free Software Foundation,
Version 3 der Lizenz oder (nach Ihrer Wahl) jeder spteren
verffentlichten Version, weiterverbreiten und/oder modifizieren.
    
OpenKeyWord wird in der Hoffnung, dass es ntzlich sein wird, aber
OHNE JEDE GEWHRLEISTUNG, bereitgestellt; sogar ohne die implizite
Gewhrleistung der MARKTFHIGKEIT oder EIGNUNG FR EINEN BESTIMMTEN ZWECK.
Siehe die GNU General Public License fr weitere Details.
    
Sie sollten eine Kopie der GNU General Public License zusammen mit 
OpenKeyWord erhalten haben. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
*/

// , IOKW_SimpleDataObj
/// \~german
/// \brief
/// Diese Klasse implmenetiert die Methoden der IOKW_SimpleDataObj fr ein Texfeld<br/>.
/// GUI-Automatisierungswerkzeug: Selenium.<br/>
/// Die meisten Methoden werden aus der abtrakten Klasse SeSimpleDataObjekt geerbt.
/// 
/// \~
/// \author Zoltan Hrabovszki
/// \date 2014.06.2014
public class SeTextarea extends SeSimpleDataObjBase {

    /// \brief
    /// 
    /// 
    /// \param Locator definiert die Objekterkennungseigenschaft des Objektes und wird als XPATH angegeben.
    public SeTextarea(String Locator, OKWLocator... fpLocators) {
        super(Locator, fpLocators);
    }

    /// \~german
    /// \brief
    /// Ermittelt den textuellen Inhalt eines Textfeldes.<br/>.
    /// GUI-Automatisierungswerkzeug: Selenium.<br/>
    /// 
    /// \return
    /// Gibt den Textuellen Inhaltes eines DOM-TextField-s zurck.
    /// Es korrespondieren je eine Zeile des GUI-Objektes mit jeweil einem Listen-Element.<br/>
    /// Ein Textfield besteht aus einerZeile: Daher wird der Wert des Textfield-s im ListenElement[0] abgelegt.
    /// Zurckgegeben.
    /// \return
    /// \~
    /// \author Zoltan Hrabovszki
    /// \date 2014.06.2014
    @Override
    public ArrayList<String> getValue() {
        ArrayList<String> lvLsReturn = new ArrayList<String>();
        Boolean bOK = false;

        try {
            this.LogFunctionStartDebug("GetValue");

            // Get Value from TextField and put this into the return List<string>
            // lvLsReturn.add(this.Me().getAttribute("value"));
            String myText = this.Me().getText();

            if (!myText.isEmpty()) {
                lvLsReturn.add(myText);
            }
            bOK = true;
        } finally {
            if (bOK) {
                this.LogFunctionEndDebug(lvLsReturn.toString());
            } else {
                this.LogFunctionEndDebug();
            }
        }

        return lvLsReturn;
    }

    public void setAttribute(WebElement elem, String value) {
        JavascriptExecutor js = (JavascriptExecutor) SeDriver.getInstance().driver;

        String scriptSetAttrValue = "arguments[0].setAttribute(arguments[1],arguments[2])";

        js.executeScript(scriptSetAttrValue, elem, "value", value);

    }

    // / \~german
    public void SetValue(ArrayList<String> Values) {
        this.LogFunctionStartDebug("SetValue", "Val", Values.toString());

        try {

            WebElement myMe = this.Me();
            myMe.clear();

            for (String Value : Values) {
                if (Value.equals(OKW_Const_Sngltn.getInstance().GetOKWConst4Internalname("DELETE"))) {
                    myMe.clear();
                } else {
                    myMe.sendKeys(Value);
                }
            }
        } finally {
            this.LogFunctionEndDebug();
        }

        return;
    }

}