Index: lams_common/test/java/org/lamsfoundation/lams/selenium/AbstractSeleniumTestCase.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/selenium/Attic/AbstractSeleniumTestCase.java,v diff -u -r1.2 -r1.3 --- lams_common/test/java/org/lamsfoundation/lams/selenium/AbstractSeleniumTestCase.java 16 Jul 2009 05:59:49 -0000 1.2 +++ lams_common/test/java/org/lamsfoundation/lams/selenium/AbstractSeleniumTestCase.java 19 Jul 2009 23:55:48 -0000 1.3 @@ -54,8 +54,6 @@ protected UserManagementService userManagementService; protected LessonDAO lessonDAO; protected LearningDesignDAO learningDesignDAO; - - private static final String TIMEOUT = "20000"; private static final String[] contextConfigLocation = new String[] { "org/lamsfoundation/lams/localCommonContext.xml", @@ -201,11 +199,11 @@ + contentFolderID; final String openToolId = "openToolId"; selenium.openWindow(openToolUrl.toString(), openToolId); - selenium.waitForPopUp(openToolId, TIMEOUT); + selenium.waitForPopUp(openToolId, "10000"); selenium.selectWindow(openToolId); return new HashMap() {{ - put("contentFolderID", "contentFolderID"); + put("contentFolderID", contentFolderID); put("toolContentID", toolContentID); }}; } @@ -217,7 +215,7 @@ //closes tool authoring screen selenium.click("//span[@class='okIcon']"); selenium.waitForPageToLoad("10000"); - selenium.click("//span[@class='close']"); + selenium.close(); //closes Flash authoring screen selenium.selectWindow("aWindow"); @@ -226,10 +224,12 @@ final String storeLearningDesignUrl = TestFrameworkConstants.WEB_APP_DIR + "servlet/authoring/storeLearningDesignDetails"; String designDetails = constructWddxDesign(contentDetails); - //if at some point in the future we decide to use Prototype instead of jQUery we should use this command -// selenium.runScript("var options = { " + "method:\"post\", " + "postBody:\"" + designDetails + "\" " + "};" -// + "new Ajax.Request(\"" + storeLearningDesignUrl + "\",options);"); - selenium.runScript("$.post(\"" + storeLearningDesignUrl + "\", \"" + designDetails + "\");"); + //callback function is aimed to let Selenium wait till StoreLDServlet finishes its work + selenium.runScript("$.post(\"" + storeLearningDesignUrl + "\", " + + "\"" + designDetails + "\", " + + "function(data){ return data; }" + + ");"); + selenium.selectWindow(null); } /** @@ -246,6 +246,7 @@ Integer workspaceFolderID = workspace.getDefaultFolder().getWorkspaceFolderId(); List titles = learningDesignDAO.getLearningDesignTitlesByWorkspaceFolder(workspaceFolderID); assertTrue("There is no stored learning design", titles.size() > 0); + //TODO receive sorted titles list from the server because if LD was imported it's not sorted alphabetically Collections.sort(titles, String.CASE_INSENSITIVE_ORDER); int count = 1; for (String title : titles) { @@ -254,7 +255,7 @@ } count++; } - assertTrue("There isn't learning design with name" + learningDesignName,count <= titles.size()); + assertTrue("There isn't learning design with name " + learningDesignName,count <= titles.size()); flexSelenium.click("link=Add Lesson"); Thread.sleep(6000); @@ -271,9 +272,9 @@ assertTrue("Assertion failed. Lesson has *not* been created", lastCreatedLessonId < getLastCreatedLessonId(true)); //TODO fix CloudWizard or define offset checking for lesson's LD name - //Long lessonId = getLastCreatedLessonId(false); - //String lessonTitle = lessonDAO.getLesson(lessonId).getLearningDesign().getTitle(); - //assertTrue("Tests aborted due to the problem with CloudWizard's root element problem. Please, restart tests", learningDesignName.equals(lessonTitle)); + Long lessonId = getLastCreatedLessonId(false); + String lessonTitle = lessonDAO.getLesson(lessonId).getLearningDesign().getTitle(); + assertTrue("Tests aborted due to the problem with CloudWizard's root element problem. Please, restart tests", learningDesignName.equals(lessonTitle)); } /** @@ -335,7 +336,7 @@ selenium.open(TestFrameworkConstants.WEB_APP_DIR); selenium.type("j_username", TestFrameworkConstants.USER_LOGIN); selenium.type("j_password", TestFrameworkConstants.USER_PASSWORD); - selenium.click("//p[@class='login-button']/a"); + selenium.click("link=Login"); selenium.waitForPageToLoad("10000"); Thread.sleep(3000); } @@ -345,7 +346,7 @@ // ***************************************************************************** /** - * Waits till element will be present on a page. + * Waits till element will be presented on a page. * * @param locator - an element locator * @throws InterruptedException @@ -429,41 +430,43 @@ } /** - * Given a WDDX packet in our normal format, gets the id number from within + * Given a WDDX packet in our normal format, gets the content folder from within * the <var - * name='messageValue'><number>num</number></var> + * name='messageValue'><string>num</string></var> * * @param wddxPacket * @return id */ private String extractFolderIDFromWDDXPacket(String wddxPacket) { - int indexMessageValue = wddxPacket.indexOf(""); + wddxPacket = wddxPacket.toLowerCase(); + int indexMessageValue = wddxPacket.indexOf(""); assertTrue(" string not found", indexMessageValue > 0); int endIndexMessageValue = wddxPacket.indexOf("", indexMessageValue); return wddxPacket.substring(indexMessageValue - + "".length(), endIndexMessageValue); + + "".length(), endIndexMessageValue); } /** - * Given a WDDX packet in our normal format, gets the id number from within + * Given a WDDX packet in our normal format, gets the tool content id from within * the <var * name='messageValue'><number>num</number></var> * * @param wddxPacket * @return id */ private String extractToolContentIDFromWDDXPacket(String wddxPacket) { - int indexMessageValue = wddxPacket.indexOf(""); - assertTrue(wddxPacket + "!! string not found", indexMessageValue > 0); + wddxPacket = wddxPacket.toLowerCase(); + int indexMessageValue = wddxPacket.indexOf(""); + assertTrue(" string not found", indexMessageValue > 0); int endIndexMessageValue = wddxPacket.indexOf(".0", indexMessageValue); String idString = wddxPacket.substring(indexMessageValue - + "".length(), + + "".length(), endIndexMessageValue); try { Long.parseLong(idString); return idString; } catch (NumberFormatException e) { - fail("Unable to get id number from WDDX packet. Format exception. String was " + fail("Unable to get toolContentID from WDDX packet. Format exception. String was " + idString); } return null; Index: lams_common/test/java/org/lamsfoundation/lams/selenium/TestFrameworkConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/selenium/Attic/TestFrameworkConstants.java,v diff -u -r1.1 -r1.2 --- lams_common/test/java/org/lamsfoundation/lams/selenium/TestFrameworkConstants.java 13 Jul 2009 04:38:03 -0000 1.1 +++ lams_common/test/java/org/lamsfoundation/lams/selenium/TestFrameworkConstants.java 19 Jul 2009 23:55:48 -0000 1.2 @@ -30,7 +30,7 @@ /** the port on which the Selenium Server is listening */ public static final int SERVER_PORT = 5555; /** - * the command string used to launch the browser, e.g. "firefox" or + * the command string used to launch the browser, e.g. "*firefox", "*iexplore" or * "c:\\program files\\internet explorer\\iexplore.exe" */ public static final String BROWSER = "*firefox";