Project

General

Profile

« Previous | Next » 

Revision 535407a1

Added by Andreas Kohlbecker almost 13 years ago

upgrade to selenium 2.0rc3

View differences:

modules/cdm_dataportal/test/java/dataportal-selenium-tests/src/main/java/eu/etaxonomy/dataportal/pages/PolytomousKeyPage.java
1 1
package eu.etaxonomy.dataportal.pages;
2 2

  
3 3
import java.net.MalformedURLException;
4
import java.net.URL;
4 5
import java.util.List;
5 6
import java.util.UUID;
6 7

  
7 8
import org.apache.log4j.Logger;
8 9
import org.junit.Assert;
9 10
import org.openqa.selenium.By;
10
import org.openqa.selenium.RenderedWebElement;
11 11
import org.openqa.selenium.WebDriver;
12 12
import org.openqa.selenium.WebElement;
13 13
import org.openqa.selenium.support.CacheLookup;
......
23 23

  
24 24
	private static String drupalPagePathBase = "cdm_dataportal/polytomousKey";
25 25

  
26
	private DataPortalContext context;
27

  
26 28
	/* (non-Javadoc)
27 29
	 * @see eu.etaxonomy.dataportal.pages.PortalPage#getDrupalPageBase()
28 30
	 */
......
39 41

  
40 42
	public PolytomousKeyPage(WebDriver driver, DataPortalContext context, UUID keyUuid) throws MalformedURLException {
41 43
		super(driver, context, keyUuid.toString());
44
		this.context = context;
45
	}
46

  
47
	/**
48
	 * @param driver
49
	 * @param context
50
	 * @throws Exception
51
	 */
52
	public PolytomousKeyPage(WebDriver driver, DataPortalContext context) throws Exception {
53
		super(driver, context);
42 54
	}
43 55

  
44 56
	public static class KeyLineData{
......
78 90
		nodeLinkToTaxon;
79 91
	}
80 92

  
81
	public PortalPage followPolytomousKeyLine(int lineIndex, KeyLineData data) {
93
	public PortalPage followPolytomousKeyLine(int lineIndex, KeyLineData data) throws Exception {
82 94

  
83 95
		keyTableRows = keyTable.findElements(By.xpath("tbody/tr"));
84 96
		WebElement keyEntry = keyTableRows.get(lineIndex);
85 97
		Assert.assertEquals("node number", data.nodeNumber, keyEntry.findElement(By.className("nodeNumber")).getText());
86
		Assert.assertEquals("edge text", data.edgeText + data.linkText, keyEntry.findElement(By.className("edge")).getText());
98
		Assert.assertEquals("edge text", data.edgeText + "\n" + data.linkText, keyEntry.findElement(By.className("edge")).getText());
87 99
		WebElement linkContainer = keyEntry.findElement(By.className(data.linkClass.name()));
88
		RenderedWebElement link = (RenderedWebElement)linkContainer.findElement(By.tagName("a"));
100
		WebElement link = linkContainer.findElement(By.tagName("a"));
89 101
		Assert.assertEquals("link text", data.linkText, link.getText());
90 102
		logger.info("testing " +  data.linkClass.name() + " : " + getInitialUrlBase() + ":" + link.getAttribute("href"));
91 103
		link.click();
92 104
		wait.until(new VisibilityOfElementLocated(By.id("container")));
93 105

  
94
		return PageFactory.initElements(driver, PortalPage.class);
106
		PortalPage nextPage = null;
107
		if(data.linkClass.equals(LinkClass.nodeLinkToTaxon)){
108
			nextPage = new TaxonProfilePage(driver, context);
109
		} else {
110
			// must be PolytomousKeyPage then
111
			if( !isOnPage()){
112
				nextPage = new PolytomousKeyPage(driver, context);
113
			} else {
114
				nextPage = this;
115
			}
116
		}
117

  
118
		return nextPage;
95 119
	}
96 120

  
97 121

  

Also available in: Unified diff