Revision ee5d420b
Added by Andreas Kohlbecker almost 5 years ago
src/main/java/eu/etaxonomy/dataportal/elements/DrupalBlock.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.dataportal.elements; |
10 | 10 |
|
11 |
import java.util.List; |
|
12 |
|
|
13 | 11 |
import org.apache.log4j.Level; |
14 | 12 |
import org.openqa.selenium.By; |
15 | 13 |
import org.openqa.selenium.NoSuchElementException; |
... | ... | |
23 | 21 |
*/ |
24 | 22 |
public class DrupalBlock extends BaseElement { |
25 | 23 |
|
26 |
private String header; |
|
27 |
|
|
28 |
protected WebElement content; |
|
29 |
|
|
30 |
protected List<WebElement> featureBlockelements; |
|
24 |
WebElement titleElement; |
|
31 | 25 |
|
32 | 26 |
|
33 | 27 |
public DrupalBlock(WebElement element) { |
28 |
this(element, false); |
|
29 |
} |
|
30 |
|
|
31 |
public DrupalBlock(WebElement element, boolean hasHiddenTitle) { |
|
34 | 32 |
|
35 | 33 |
super(element); |
36 | 34 |
|
37 | 35 |
logger.setLevel(Level.TRACE); |
38 | 36 |
logger.trace("DrupalBlock() - constructor after super()"); |
39 | 37 |
|
40 |
content = element.findElement(By.className("content")); |
|
41 |
featureBlockelements = element.findElements(By.className("feature-block-elements")); |
|
42 |
|
|
43 |
logger.trace("DrupalBlock() - block content loaded"); |
|
44 | 38 |
try { |
45 |
WebElement headerElement = element.findElement(By.tagName("h2")); |
|
46 |
header = headerElement.getText(); |
|
47 |
logger.trace("DrupalBlock() - header text ready"); |
|
39 |
titleElement = element.findElement(By.className("block-title")); |
|
48 | 40 |
} catch (NoSuchElementException e){ |
49 |
// IGNORE // |
|
41 |
try { |
|
42 |
titleElement = element.findElement(By.className("title")); |
|
43 |
} catch (NoSuchElementException e2){ |
|
44 |
if(!hasHiddenTitle){ |
|
45 |
throw e2; |
|
46 |
} |
|
47 |
} |
|
50 | 48 |
} |
51 | 49 |
} |
52 | 50 |
|
53 |
public String getHeader() { |
|
54 |
return header;
|
|
51 |
public String getHeaderText() {
|
|
52 |
return titleElement.getText();
|
|
55 | 53 |
} |
56 | 54 |
|
57 |
public WebElement getContent() { |
|
58 |
return content; |
|
55 |
public String getContentText() { |
|
56 |
String titleText = getHeaderText(); |
|
57 |
String elementText = getElement().getText(); |
|
58 |
if(elementText.startsWith(titleText)){ |
|
59 |
elementText = elementText.substring(titleText.length(), elementText.length()); |
|
60 |
} |
|
61 |
return elementText; |
|
59 | 62 |
} |
60 | 63 |
|
61 |
public List<WebElement> getFeatureBlockElements() { |
|
62 |
return featureBlockelements; |
|
63 |
} |
|
64 |
|
|
65 | 64 |
} |
Also available in: Unified diff
ref #4372 page elements DupalBlock and FeatureBlock compatible also with zen theme - solving problems