Continued WebDriver work in progress

This commit is contained in:
Graham Triggs 2015-12-20 15:37:59 +00:00
parent d8fad2b5ab
commit 6aeccfffbb
4 changed files with 154 additions and 459 deletions

View file

@ -719,6 +719,7 @@
<td>id=object</td>
<td>${KEY_DOWN}</td>
</tr>
<!-- Reached here -->
<tr>
<td>click</td>
<td>id=ui-active-menuitem</td>

View file

@ -1,9 +1,11 @@
package org.vivoweb.vivo.selenium.tests;
import org.apache.commons.lang3.StringUtils;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.NoSuchElementException;
@ -20,6 +22,17 @@ import org.vivoweb.vivo.selenium.SeleniumUtils;
public class AbstractSeleniumTest {
protected WebDriver driver;
public void assertConfirmation(String text) {
WebDriverWait wait = new WebDriverWait(driver, 2);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
if (!StringUtils.isEmpty(text)) {
Assert.assertTrue(text.equalsIgnoreCase(alert.getText()));
}
alert.accept();
driver.switchTo().defaultContent();
}
protected void assertTitle(String title) {
Assert.assertEquals(title, driver.getTitle());
}
@ -60,7 +73,9 @@ public class AbstractSeleniumTest {
}
protected void type(By by, String text) {
driver.findElement(by).sendKeys(text);
WebElement element = driver.findElement(by);
element.click();
element.sendKeys(text);
}
protected void typeAutoCompleteSelect(By by, String text, Keys... keys) {
@ -77,11 +92,12 @@ public class AbstractSeleniumTest {
} catch (InterruptedException e) {
throw new RuntimeException(e);
} catch (NoSuchElementException nse) {
for (int i = 0; i < text.length(); i++) {
element.sendKeys(Keys.BACK_SPACE);
}
element.clear();
// for (int i = 0; i < text.length(); i++) {
// element.sendKeys(Keys.BACK_SPACE);
// }
if (count > 4) {
if (count > 10) {
throw nse;
}
}
@ -119,7 +135,8 @@ public class AbstractSeleniumTest {
}
protected void verifyTextPresent(String text) {
Assert.assertNotNull(driver.findElement(xpathForTextPresent(text)));
Assert.assertTrue(driver.findElement(By.xpath("//body")).getText().contains(text));
// Assert.assertNotNull(driver.findElement(xpathForTextPresent(text)));
}
protected boolean waitForElementPresent(By by) {

View file

@ -330,13 +330,14 @@ public class CreateOrganization extends AbstractSeleniumTest {
clickAndWait(By.id("submit"));
assertTitle("Primate College of America");
clickAndWait(By.cssSelector("li.nonSelectedGroupTab.clickable"));
clickAndWait(By.xpath("//div[@id='wrapper-content']/ul/li[14]"));
clickAndWait(By.xpath("(//img[@alt='add'])[14]"));
assertTitle("Edit");
type(By.id("typeSelector"), "Workshop");
type(By.id("activity"), "New Primate Students ");
type(By.id("startField-year"), "2006");
type(By.id("startField-year"), "2003");
type(By.id("endField-year"), "2006");
clickAndWait(By.id("submit"));
assertTitle("Primate College of America");
@ -453,14 +454,14 @@ public class CreateOrganization extends AbstractSeleniumTest {
// Verify everything entered is displaying properly
clickAndWait(By.cssSelector("li.nonSelectedGroupTab.clickable"));
clickAndWait(By.xpath("//div[@id='wrapper-content']/ul/li[2]"));
verifyTextPresent("PCoA");
verifyTextPresent("1959 -");
verifyElementPresent(By.linkText("B.S. Bachelor of Science"));
verifyElementPresent(By.linkText("Primate Student of the Year"));
verifyElementPresent(By.linkText("Best Primate College"));
clickAndWait(By.cssSelector("li.nonSelectedGroupTab.clickable"));
clickAndWait(By.xpath("//div[@id='wrapper-content']/ul/li[4]"));
verifyTextPresent("faculty administrative position");
verifyElementPresent(By.linkText("Person, Polly"));
verifyTextPresent("Person, Polly, Dr. 1999 -");

View file

@ -13,6 +13,9 @@ public class DeleteOrganization extends AbstractSeleniumTest {
logIn("testAdmin@cornell.edu", "Password");
clickAndWait(By.linkText("Index"));
assertTitle("Index of Contents");
clickAndWait(By.linkText("Organization"));
assertTitle("Organization");
@ -26,457 +29,130 @@ public class DeleteOrganization extends AbstractSeleniumTest {
assertTitle("Individual Editing Form");
clickAndWait(By.name("_delete"));
assertConfirmation("Are you SURE you want to delete this individual? If in doubt, CANCEL.");
try { Thread.sleep(50000); } catch (Exception e) { }
assertTitle("VIVO Site Administration");
clickAndWait(By.linkText("Index"));
assertTitle("Index of Contents");
clickAndWait(By.linkText("Organization"));
assertTitle("Organization");
clickAndWait(By.linkText("Primate College of New York"));
assertTitle("Primate College of New York");
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"));
assertConfirmation("Are you SURE you want to delete this individual? If in doubt, CANCEL.");
assertTitle("VIVO Site Administration");
clickAndWait(By.linkText("Index"));
assertTitle("Index of Contents");
clickAndWait(By.linkText("Organization"));
assertTitle("Organization");
clickAndWait(By.linkText("Primate Colleges of the World"));
assertTitle("Primate Colleges of the World");
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"));
assertConfirmation("Are you SURE you want to delete this individual? If in doubt, CANCEL.");
assertTitle("VIVO Site Administration");
clickAndWait(By.linkText("Index"));
assertTitle("Index of Contents");
clickAndWait(By.linkText("Organization"));
assertTitle("Organization");
clickAndWait(By.linkText("Primate History Library"));
assertTitle("Primate History Library");
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"));
assertConfirmation("Are you SURE you want to delete this individual? If in doubt, CANCEL.");
assertTitle("VIVO Site Administration");
clickAndWait(By.linkText("Index"));
assertTitle("Index of Contents");
clickAndWait(By.linkText("Organization"));
assertTitle("Organization");
clickAndWait(By.linkText("Primate Research Laboratory"));
assertTitle("Primate Research Laboratory");
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"));
assertConfirmation("Are you SURE you want to delete this individual? If in doubt, CANCEL.");
assertTitle("VIVO Site Administration");
clickAndWait(By.linkText("Index"));
assertTitle("Index of Contents");
clickAndWait(By.linkText("Organization"));
assertTitle("Organization");
clickAndWait(By.linkText("Primate University of America"));
assertTitle("Primate University 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"));
assertConfirmation("Are you SURE you want to delete this individual? If in doubt, CANCEL.");
assertTitle("VIVO Site Administration");
clickAndWait(By.linkText("Index"));
assertTitle("Index of Contents");
clickAndWait(By.linkText("Organization"));
assertTitle("Organization");
clickAndWait(By.linkText("Primates-r-us"));
assertTitle("Primates-r-us");
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"));
assertConfirmation("Are you SURE you want to delete this individual? If in doubt, CANCEL.");
assertTitle("VIVO Site Administration");
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>
*/