Index: lams_tests/tests/org/lamsfoundation/lams/admin/ConfigurationSettings.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/ConfigurationSettings.java (.../ConfigurationSettings.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/ConfigurationSettings.java (.../ConfigurationSettings.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -11,6 +11,7 @@ import org.lamsfoundation.lams.LamsConstants; import org.lamsfoundation.lams.admin.util.AdminUtil; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -117,7 +118,7 @@ @AfterClass public static void closeBrowser(){ - AdminUtil.logout(driver); + LamsUtil.logout(driver); driver.quit(); } Index: lams_tests/tests/org/lamsfoundation/lams/admin/ImportCourses.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/ImportCourses.java (.../ImportCourses.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/ImportCourses.java (.../ImportCourses.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -4,6 +4,7 @@ import org.lamsfoundation.lams.LamsConstants; import org.lamsfoundation.lams.admin.util.AdminUtil; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -57,7 +58,7 @@ @AfterClass public static void closeBrowser(){ - AdminUtil.logout(driver); + LamsUtil.logout(driver); driver.quit(); } Index: lams_tests/tests/org/lamsfoundation/lams/admin/ImportUsers.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/ImportUsers.java (.../ImportUsers.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/ImportUsers.java (.../ImportUsers.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -6,6 +6,7 @@ import org.lamsfoundation.lams.LamsConstants; import org.lamsfoundation.lams.admin.util.AdminUtil; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; @@ -130,7 +131,7 @@ @AfterClass public static void closeBrowser(){ - AdminUtil.logout(driver); + LamsUtil.logout(driver); driver.quit(); } Index: lams_tests/tests/org/lamsfoundation/lams/admin/MaintainIntegrations.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/MaintainIntegrations.java (.../MaintainIntegrations.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/MaintainIntegrations.java (.../MaintainIntegrations.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -8,7 +8,6 @@ import java.net.URLEncoder; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.Random; import java.util.concurrent.TimeUnit; import org.w3c.dom.Document; @@ -22,6 +21,7 @@ import org.apache.commons.codec.binary.Hex; import org.lamsfoundation.lams.LamsConstants; import org.lamsfoundation.lams.admin.util.AdminUtil; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; @@ -37,7 +37,7 @@ private static WebDriver driver = null; // Test data - private static final String randomInt = randInt(0, 9999); + private static final String randomInt = LamsUtil.randInt(0, 9999); private String serverId = "tester-" + randomInt; private String serverPrefix = "t" + randomInt; private static String serverKey = "qBw5QPy4i58cMI50t12F"; @@ -148,7 +148,7 @@ public void getLearningDesigns() { // First let's logout - AdminUtil.logout(driver); + LamsUtil.logout(driver); // Create the authentication hash String hash = createHash(datetime, username); @@ -188,7 +188,7 @@ // path to file in LAMS server String filePath = "/tmp/Example1.zip"; // First let's logout - AdminUtil.logout(driver); + LamsUtil.logout(driver); // Create the authentication hash String hash = createHash(datetime, username); @@ -240,7 +240,7 @@ String lessonDescription = URLEncoder.encode("A lesson", "UTF-8"); // First let's logout - AdminUtil.logout(driver); + LamsUtil.logout(driver); // Create the authentication hash String hash = createHash(datetime, username); @@ -335,7 +335,7 @@ String monitorRoles = AdminUtil.rolesInCourse(driver, monitorUsername, courseName); // Logout - AdminUtil.logout(driver); + LamsUtil.logout(driver); Assert.assertEquals(monitorRoles, "Author Learner Monitor", "The roles for the user" + monitorUsername + " in course " + courseName + "are incorrect"); @@ -404,7 +404,7 @@ String learnerRole = AdminUtil.rolesInCourse(driver, learnerUsername, courseName); // Logout - AdminUtil.logout(driver); + LamsUtil.logout(driver); Assert.assertEquals(learnerRole, "Learner", "The role for the learner " + learnerUsername + " in course " + courseName + "is incorrect"); @@ -452,7 +452,7 @@ // Randomly select thru the answers for (int i = 0; i < 5; i++) { - String xpathAnswer = "//*[@id=\"question-area-" + i + "\"]/table/tbody/tr[" + randInt(1, 3) + "]/td[1]/input"; + String xpathAnswer = "//*[@id=\"question-area-" + i + "\"]/table/tbody/tr[" + LamsUtil.randInt(1, 3) + "]/td[1]/input"; driver.findElement(By.xpath(xpathAnswer)).click(); } // Submit all responses @@ -707,21 +707,6 @@ } } - public static String randInt(int min, int max) { - - // NOTE: Usually this should be a field rather than a method - // variable so that it is not re-seeded every call. - Random rand = new Random(); - - // nextInt is normally exclusive of the top value, - // so add 1 to make it inclusive - int randomNum = rand.nextInt((max - min) + 1) + min; - - String randomNumString = String.valueOf(randomNum); - - return randomNumString; - } - @BeforeClass public static void openBrowser(){ driver = new FirefoxDriver(); @@ -736,7 +721,7 @@ @AfterClass public static void closeBrowser(){ // Logout before quitting - AdminUtil.logout(driver); + LamsUtil.logout(driver); driver.quit(); } Index: lams_tests/tests/org/lamsfoundation/lams/admin/MaintainLoginPage.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/MaintainLoginPage.java (.../MaintainLoginPage.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/MaintainLoginPage.java (.../MaintainLoginPage.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -10,6 +10,7 @@ import org.lamsfoundation.lams.LamsConstants; import org.lamsfoundation.lams.admin.util.AdminUtil; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; @@ -46,7 +47,7 @@ // Now logout and check that the image and text are correct closeBrowser(); openBrowser(); - AdminUtil.logout(driver); + LamsUtil.logout(driver); String expectedText = driver.findElement(By.xpath("//*[@id=\"login-left-col\"]/div")).getText().trim(); assertEquals(expectedText, insertText); @@ -66,7 +67,7 @@ @AfterClass public static void closeBrowser(){ - AdminUtil.logout(driver); + LamsUtil.logout(driver); driver.quit(); } Index: lams_tests/tests/org/lamsfoundation/lams/admin/Signup.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/Signup.java (.../Signup.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/Signup.java (.../Signup.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -6,6 +6,7 @@ import org.lamsfoundation.lams.LamsConstants; import org.lamsfoundation.lams.admin.util.*; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; @@ -83,7 +84,7 @@ String email = (firstName + "." + lastName + "@lams.com").toLowerCase(); // first let's logout - AdminUtil.logout(driver); + LamsUtil.logout(driver); // Not hiw the signup page driver.get(LamsConstants.SIGNUP_URL + courseCode.toLowerCase()); @@ -114,13 +115,9 @@ public void loginStudent() { //Login with the new details - - driver.get(LamsConstants.TEST_SERVER_URL); - driver.findElement(By.name("j_username")).sendKeys(username); - driver.findElement(By.name("j_password")).sendKeys(password); - driver.findElement(By.id("loginButton")).click(); - - // Check that the tag with the coursename exists + LamsUtil.loginAs(driver, username, password); + + // deal with new user pop-up WebDriverWait wait = new WebDriverWait(driver, 5 /*timeout in seconds*/); if (wait.until(ExpectedConditions.alertIsPresent())==null) { System.out.println("alert was not present"); @@ -130,7 +127,9 @@ alert.accept(); } - Assert.assertTrue((driver.findElements(By.linkText(courseName)).size() > 0), "Student logged in successfully and in correct class"); + // Check that the tag with the coursename exists + Boolean existsCourseName = (driver.findElements(By.linkText(courseName)).size() > 0); + Assert.assertTrue(existsCourseName, "Student logged in successfully and in correct class"); @@ -151,7 +150,7 @@ @AfterClass public void afterClass() { - AdminUtil.logout(driver); + LamsUtil.logout(driver); driver.quit(); } Index: lams_tests/tests/org/lamsfoundation/lams/admin/ToolManagement.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/ToolManagement.java (.../ToolManagement.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/ToolManagement.java (.../ToolManagement.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -3,14 +3,15 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; - import org.testng.annotations.AfterClass; import org.testng.annotations.Test; import org.testng.annotations.BeforeClass; import java.util.concurrent.TimeUnit; + import org.lamsfoundation.lams.LamsConstants; import org.lamsfoundation.lams.admin.util.AdminUtil; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; @@ -74,7 +75,7 @@ @AfterClass public static void closeBrowser(){ // Logout before quitting - AdminUtil.logout(driver); + LamsUtil.logout(driver); driver.quit(); } Index: lams_tests/tests/org/lamsfoundation/lams/admin/UserManagement.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/UserManagement.java (.../UserManagement.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/UserManagement.java (.../UserManagement.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -6,6 +6,7 @@ import org.lamsfoundation.lams.LamsConstants; import org.lamsfoundation.lams.admin.util.AdminUtil; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; @@ -144,7 +145,7 @@ @AfterClass public void afterClass() { - AdminUtil.logout(driver); + LamsUtil.logout(driver); driver.quit(); } Index: lams_tests/tests/org/lamsfoundation/lams/admin/util/AdminUtil.java =================================================================== diff -u -r7563be2f59d0ec195ecc90bafb4bae83ab572dad -rd92555293b36d01d50e1f83961e515a5b65aa18f --- lams_tests/tests/org/lamsfoundation/lams/admin/util/AdminUtil.java (.../AdminUtil.java) (revision 7563be2f59d0ec195ecc90bafb4bae83ab572dad) +++ lams_tests/tests/org/lamsfoundation/lams/admin/util/AdminUtil.java (.../AdminUtil.java) (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -3,6 +3,7 @@ import java.util.List; import org.lamsfoundation.lams.LamsConstants; +import org.lamsfoundation.lams.util.LamsUtil; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; @@ -99,29 +100,13 @@ return "error: No roles for " + username + " in course " + courseName; } - public static void loginAsSysadmin(WebDriver driver, String sysadminUser, String sysadminPasswd) { - // Login - driver.get(LamsConstants.TEST_SERVER_URL); - driver.findElement(By.name("j_username")).sendKeys(LamsConstants.SYSADMIN_USER); - driver.findElement(By.name("j_password")).sendKeys(LamsConstants.SYSADMIN_PASSWD); - driver.findElement(By.id("loginButton")).click(); - - } - public static void loginAsSysadmin(WebDriver driver) { // Login - loginAsSysadmin(driver, LamsConstants.SYSADMIN_USER, LamsConstants.SYSADMIN_PASSWD); + LamsUtil.loginAs(driver, LamsConstants.SYSADMIN_USER, LamsConstants.SYSADMIN_PASSWD); } - - public static void logout(WebDriver driver) { - - driver.get(LamsConstants.LOGOUT_URL); - - } - public static boolean createUser(WebDriver driver, String username, String password, String firstName, String lastName, String email) { Index: lams_tests/tests/org/lamsfoundation/lams/util/LamsUtil.java =================================================================== diff -u --- lams_tests/tests/org/lamsfoundation/lams/util/LamsUtil.java (revision 0) +++ lams_tests/tests/org/lamsfoundation/lams/util/LamsUtil.java (revision d92555293b36d01d50e1f83961e515a5b65aa18f) @@ -0,0 +1,42 @@ +package org.lamsfoundation.lams.util; + +import java.util.Random; + +import org.lamsfoundation.lams.LamsConstants; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; + +public class LamsUtil { + + public static void loginAs(WebDriver driver, String username, String password) { + + // Get to login page + driver.get(LamsConstants.TEST_SERVER_URL); + driver.findElement(By.name("j_username")).sendKeys(username); + driver.findElement(By.name("j_password")).sendKeys(password); + driver.findElement(By.id("loginButton")).click(); + + } + + public static void logout(WebDriver driver) { + + driver.get(LamsConstants.LOGOUT_URL); + + } + + public static String randInt(int min, int max) { + + // NOTE: Usually this should be a field rather than a method + // variable so that it is not re-seeded every call. + Random rand = new Random(); + + // nextInt is normally exclusive of the top value, + // so add 1 to make it inclusive + int randomNum = rand.nextInt((max - min) + 1) + min; + + String randomNumString = String.valueOf(randomNum); + + return randomNumString; + } + +} \ No newline at end of file