-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPageElement.java
More file actions
133 lines (109 loc) · 3.77 KB
/
PageElement.java
File metadata and controls
133 lines (109 loc) · 3.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package elements.webElementsExtensions;
import org.apache.logging.log4j.Logger;
import org.openqa.selenium.*;
import utils.LoggingUtils;
import java.util.Arrays;
import java.util.List;
public class PageElement implements WebElement {
private WebElement wrappedElement;
private String elementName;
protected Logger logger = LoggingUtils.getLogger("WebElementsExtension");
/**
* Name of this method should be included in ignoreMethods list in PageElementLocatorHandler class,
* for more details check comments.
* @param webElement passed from page element locator handlers
*/
protected void setWrappedElement(WebElement webElement, String elementName) {
this.wrappedElement = webElement;
this.elementName = elementName;
}
protected WebElement getWrappedElement() {
return wrappedElement;
}
public String getElementName() {
return elementName;
}
@Override
public void click() {
logger.debug("Performing click on [{}] element.", elementName);
this.wrappedElement.click();
}
@Override
public void submit() {
logger.debug("Performing submit on [{}] element.", elementName);
wrappedElement.submit();
}
@Override
public void sendKeys(CharSequence... charSequences) {
logger.debug("Sending {} to [{}] field.", Arrays.toString(charSequences), elementName);
wrappedElement.sendKeys(charSequences);
}
@Override
public void clear() {
logger.debug("Performing clear on [{}] element.", elementName);
wrappedElement.clear();
}
@Override
public String getTagName() {
logger.debug("Getting tag from [{}] element.", elementName);
return wrappedElement.getTagName();
}
@Override
public String getAttribute(String attributeName) {
logger.debug("Getting attribute from [{}] element.", elementName);
return wrappedElement.getAttribute(attributeName);
}
@Override
public boolean isSelected() {
logger.debug("Checking if [{}] element is selected.", elementName);
return wrappedElement.isSelected();
}
@Override
public boolean isEnabled() {
logger.debug("Checking if [{}] element is enabled.", elementName);
return wrappedElement.isEnabled();
}
@Override
public String getText() {
logger.debug("Getting text from [{}] element.", elementName);
return wrappedElement.getText();
}
@Override
public List<WebElement> findElements(By by) {
return wrappedElement.findElements(by);
}
@Override
public WebElement findElement(By by) {
return wrappedElement.findElement(by);
}
@Override
public boolean isDisplayed() {
logger.debug("Checking if [{}] element is displayed.", elementName);
return wrappedElement.isDisplayed();
}
@Override
public Point getLocation() {
logger.debug("Getting location of [{}] element.", elementName);
return wrappedElement.getLocation();
}
@Override
public Dimension getSize() {
logger.debug("Getting location of [{}] element.", elementName);
return wrappedElement.getSize();
}
@Override
public Rectangle getRect() {
logger.debug("Getting location of [{}] element.", elementName);
return wrappedElement.getRect();
}
@Override
public String getCssValue(String value) {
logger.debug("Getting CSS value from [{}] element.", elementName);
return wrappedElement.getCssValue(value);
}
@Override
public <X> X getScreenshotAs(OutputType<X> outputType) throws WebDriverException {
logger.debug("Getting screenshot on [{}] element.", elementName);
return wrappedElement.getScreenshotAs(outputType);
}
}