package com.jazzautomation.page;
import com.jazzautomation.action.ConditionAction;
import org.openqa.selenium.WebElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
/** The class represents a DOM element on a html page. */
@XmlRootElement public class DomElement
{
protected String identifier;
// we use the following way to find a component. other than jquery, everything else is using Selenium built-in functions
protected String jquery;
protected String id;
protected String name;
protected String linkText;
protected String className;
protected String xpath;
protected String cssSelector;
protected String partialLinkText;
protected String tagName;
// end of how to find a component;
protected int index;
// protected String jqueryGetValue;
protected String jqueryGetHtml;
protected String jqueryGetDomElement;
protected boolean optional;
protected boolean existed;
protected boolean visible;
protected String value;
protected String browser;
protected HtmlCondition webCondition;
protected ConditionAction webConditionAction;
@XmlTransient private WebElement domElement;
@XmlTransient private String pageInfo;
public String getJqueryGetHtml()
{
if (jquery.trim().endsWith("]"))
{
return jquery + ".innerHTML;";
}
else
{
return jquery + "[" + index + "].innerHTML;";
}
}
public String getJqueryGetDomElement()
{
if (jquery.trim().endsWith("]"))
{
jqueryGetDomElement = jquery;
}
else
{
jqueryGetDomElement = jquery + "[" + index + "]";
}
return jqueryGetDomElement;
}
public boolean isExisted()
{
return existed;
}
public void setExisted(boolean existed)
{
this.existed = existed;
}
public boolean isVisible()
{
return visible;
}
public void setVisible(boolean visible)
{
this.visible = visible;
}
public String getJquery()
{
return jquery;
}
public void setJquery(String jquery)
{
this.jquery = jquery;
}
public String getIdentifier()
{
return identifier;
}
public void setIdentifier(String identifier)
{
this.identifier = identifier;
}
public String getValue()
{
return value;
}
public void setValue(String value)
{
this.value = value;
}
public WebElement getDomElement()
{
return domElement;
}
public boolean isOptional()
{
return optional;
}
public void setOptional(boolean optional)
{
this.optional = optional;
}
public HtmlCondition getWebCondition()
{
return webCondition;
}
public void setWebCondition(HtmlCondition webCondition)
{
this.webCondition = webCondition;
}
public ConditionAction getWebConditionAction()
{
return webConditionAction;
}
public void setWebConditionAction(ConditionAction webConditionAction)
{
this.webConditionAction = webConditionAction;
}
@XmlTransient public void setDomElement(WebElement domElement)
{
this.domElement = domElement;
}
public String getPageInfo()
{
return pageInfo;
}
public int getIndex()
{
return index;
}
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getLinkText()
{
return linkText;
}
public void setLinkText(String linkText)
{
this.linkText = linkText;
}
public String getClassName()
{
return className;
}
public void setClassName(String className)
{
this.className = className;
}
public String getXpath()
{
return xpath;
}
public void setXpath(String xpath)
{
this.xpath = xpath;
}
public String getCssSelector()
{
return cssSelector;
}
public void setCssSelector(String cssSelector)
{
this.cssSelector = cssSelector;
}
public String getPartialLinkText()
{
return partialLinkText;
}
public void setPartialLinkText(String partialLinkText)
{
this.partialLinkText = partialLinkText;
}
public String getBrowser()
{
return browser;
}
public void setBrowser(String browser)
{
this.browser = browser;
}
public String getTagName()
{
return tagName;
}
public void setTagName(String tagName)
{
this.tagName = tagName;
}
public void setIndex(int index)
{
this.index = index;
}
public void setPageInfo(String pageInfo)
{
this.pageInfo = pageInfo;
}
public String toString()
{
return "webcomponent: " + this.identifier + " with jquery: " + this.jquery;
}
}