Continued WebDriver work in progress
This commit is contained in:
parent
d582317a05
commit
d8fad2b5ab
6 changed files with 887 additions and 1471 deletions
|
@ -1,4 +1,4 @@
|
|||
<Context crossContext="true" override="true">
|
||||
<Context> <!-- useHttpOnly="false" -->
|
||||
<Environment
|
||||
type="java.lang.String"
|
||||
name="vitro/home"
|
||||
|
|
|
@ -2,6 +2,7 @@ package org.vivoweb.vivo.selenium;
|
|||
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||
import org.openqa.selenium.firefox.FirefoxProfile;
|
||||
|
||||
public final class DriverFactory {
|
||||
private static WebDriver driver = null;
|
||||
|
|
|
@ -7,13 +7,15 @@ import org.junit.runners.Suite.SuiteClasses;
|
|||
import org.vivoweb.vivo.selenium.DriverFactory;
|
||||
import org.vivoweb.vivo.selenium.VIVOSuite;
|
||||
import org.vivoweb.vivo.selenium.tests.CreateOrganization;
|
||||
import org.vivoweb.vivo.selenium.tests.DeleteOrganization;
|
||||
import org.vivoweb.vivo.selenium.tests.RebuildSearchIndex;
|
||||
|
||||
@RunWith(VIVOSuite.class)
|
||||
@SuiteClasses(
|
||||
{
|
||||
RebuildSearchIndex.class,
|
||||
CreateOrganization.class
|
||||
CreateOrganization.class,
|
||||
DeleteOrganization.class
|
||||
}
|
||||
)
|
||||
public class AddNonPersonThings {
|
||||
|
|
|
@ -5,6 +5,8 @@ import org.junit.Assert;
|
|||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.Keys;
|
||||
import org.openqa.selenium.NoSuchElementException;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||
|
@ -61,6 +63,47 @@ public class AbstractSeleniumTest {
|
|||
driver.findElement(by).sendKeys(text);
|
||||
}
|
||||
|
||||
protected void typeAutoCompleteSelect(By by, String text, Keys... keys) {
|
||||
WebElement element = driver.findElement(by);
|
||||
|
||||
int count = 0;
|
||||
WebElement autoComplete = null;
|
||||
while (autoComplete == null) {
|
||||
element.sendKeys(text);
|
||||
|
||||
try {
|
||||
Thread.sleep(500);
|
||||
autoComplete = driver.findElement(By.className("ui-autocomplete"));
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (NoSuchElementException nse) {
|
||||
for (int i = 0; i < text.length(); i++) {
|
||||
element.sendKeys(Keys.BACK_SPACE);
|
||||
}
|
||||
|
||||
if (count > 4) {
|
||||
throw nse;
|
||||
}
|
||||
}
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
// WebDriverWait wait = new WebDriverWait(driver, 5);
|
||||
// WebElement autoComplete = wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("ui-autocomplete")));
|
||||
|
||||
if (keys != null && keys.length > 0) {
|
||||
for (Keys key : keys) {
|
||||
element.sendKeys(key);
|
||||
}
|
||||
}
|
||||
|
||||
WebElement selected = driver.findElement(By.id("ui-active-menuitem"));
|
||||
if (selected != null) {
|
||||
selected.click();
|
||||
}
|
||||
}
|
||||
|
||||
protected void typeTinyMCE(String text) {
|
||||
// <td> tinyMCE.activeEditor.setContent('The Primate College of America is a privately-funded college for the study of primates.')</td>
|
||||
|
||||
|
@ -71,6 +114,10 @@ public class AbstractSeleniumTest {
|
|||
driver.switchTo().defaultContent();
|
||||
}
|
||||
|
||||
protected void verifyElementPresent(By by) {
|
||||
Assert.assertNotNull(driver.findElement(by));
|
||||
}
|
||||
|
||||
protected void verifyTextPresent(String text) {
|
||||
Assert.assertNotNull(driver.findElement(xpathForTextPresent(text)));
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,482 @@
|
|||
package org.vivoweb.vivo.selenium.tests;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.openqa.selenium.By;
|
||||
|
||||
public class DeleteOrganization extends AbstractSeleniumTest {
|
||||
@Test
|
||||
public void deleteOrganization() {
|
||||
deleteAllVisibleCookies();
|
||||
|
||||
open("/");
|
||||
assertTitle("VIVO");
|
||||
|
||||
logIn("testAdmin@cornell.edu", "Password");
|
||||
|
||||
clickAndWait(By.linkText("Organization"));
|
||||
assertTitle("Organization");
|
||||
|
||||
clickAndWait(By.linkText("Primate College of America"));
|
||||
assertTitle("Primate College of America");
|
||||
|
||||
clickAndWait(By.linkText("Edit this individual"));
|
||||
assertTitle("Individual Control Panel");
|
||||
|
||||
clickAndWait(By.xpath("//input[@value='Edit This Individual']"));
|
||||
assertTitle("Individual Editing Form");
|
||||
|
||||
clickAndWait(By.name("_delete"));
|
||||
|
||||
try { Thread.sleep(50000); } catch (Exception e) { }
|
||||
|
||||
logOut();
|
||||
}
|
||||
}
|
||||
/*
|
||||
<tr>
|
||||
<td>assertConfirmation</td>
|
||||
<td>Are you SURE you want to delete this individual? If in doubt, CANCEL.</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>waitForPageToLoad</td>
|
||||
<td>5000</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>VIVO Site Administration</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Index</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Index of Contents</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Primate College of New York</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Primate College of New York</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Edit this individual</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Control Panel</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>//input[@value='Edit This Individual']</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Editing Form</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>click</td>
|
||||
<td>name=_delete</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertConfirmation</td>
|
||||
<td>Are you SURE you want to delete this individual? If in doubt, CANCEL.</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>waitForPageToLoad</td>
|
||||
<td>5000</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>VIVO Site Administration</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Index</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Index of Contents</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Primate Colleges of the World</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Primate Colleges of the World</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Edit this individual</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Control Panel</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>//input[@value='Edit This Individual']</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Editing Form</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>click</td>
|
||||
<td>name=_delete</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertConfirmation</td>
|
||||
<td>Are you SURE you want to delete this individual? If in doubt, CANCEL.</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>waitForPageToLoad</td>
|
||||
<td>5000</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>VIVO Site Administration</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Index</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Index of Contents</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Primate History Library</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Primate History Library</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Edit this individual</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Control Panel</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>//input[@value='Edit This Individual']</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Editing Form</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>click</td>
|
||||
<td>name=_delete</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertConfirmation</td>
|
||||
<td>Are you SURE you want to delete this individual? If in doubt, CANCEL.</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>waitForPageToLoad</td>
|
||||
<td>5000</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>VIVO Site Administration</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Index</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Index of Contents</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Primate Research Laboratory</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Primate Research Laboratory</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Edit this individual</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Control Panel</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>//input[@value='Edit This Individual']</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Editing Form</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>click</td>
|
||||
<td>name=_delete</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertConfirmation</td>
|
||||
<td>Are you SURE you want to delete this individual? If in doubt, CANCEL.</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>waitForPageToLoad</td>
|
||||
<td>5000</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>VIVO Site Administration</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Index</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Index of Contents</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Primate University of America</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Primate University of America</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Edit this individual</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Control Panel</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>//input[@value='Edit This Individual']</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Editing Form</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>click</td>
|
||||
<td>name=_delete</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertConfirmation</td>
|
||||
<td>Are you SURE you want to delete this individual? If in doubt, CANCEL.</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>waitForPageToLoad</td>
|
||||
<td>5000</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>VIVO Site Administration</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Index</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Index of Contents</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Organization</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Primates-r-us</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Primates-r-us</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Edit this individual</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Control Panel</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>//input[@value='Edit This Individual']</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Individual Editing Form</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>click</td>
|
||||
<td>name=_delete</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertConfirmation</td>
|
||||
<td>Are you SURE you want to delete this individual? If in doubt, CANCEL.</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>waitForPageToLoad</td>
|
||||
<td>5000</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>VIVO Site Administration</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>link=Index</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertTitle</td>
|
||||
<td>Index of Contents</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
*/
|
Loading…
Add table
Reference in a new issue