Author: solomax
Date: Sun Jan 22 16:48:27 2017
New Revision: 1779836
URL: http://svn.apache.org/viewvc?rev=1779836&view=rev
Log:
[OPENMEETINGS-816] loginUI wicket test is fixed
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
Sun Jan 22 16:48:27 2017
@@ -34,12 +34,11 @@ import org.springframework.beans.factory
@Category(SeleniumTests.class)
public abstract class AbstractTestDefaults extends AbstractSpringTest {
-
@Autowired
private LabelDao labelDao;
public WebDriver driver = null;
-
+
private String BASE_URL = "http://localhost:5080/openmeetings";
private String username = "swagner";
private String userpass = "qweqwe";
@@ -67,11 +66,11 @@ public abstract class AbstractTestDefaul
public String getEmail() {
return email;
}
-
+
public Long getLanguageId() {
return 1L;
}
-
+
public String getLocale() {
return locale;
}
@@ -80,14 +79,14 @@ public abstract class AbstractTestDefaul
// Eclipse, the browser will not shut down after the test so you can
start
// to diagnose the test issue
public boolean doTearDownAfterTest = false;
-
+
public String getString(long id) {
return labelDao.getString(id, getLanguageId());
}
/**
* Make method overwrite possible to have custom behavior in tests
- *
+ *
* @return
*/
public boolean getDoTearDownAfterTest() {
@@ -104,7 +103,7 @@ public abstract class AbstractTestDefaul
/**
* This test is a basic test to verify the default loader mechanism
works
* it is not intend to be a part of any sub test
- *
+ *
* @throws Exception
*/
//@Test
@@ -131,9 +130,9 @@ public abstract class AbstractTestDefaul
}
/**
- * Throws exception in case that test fails, so it is important to not
catch
+ * Throws exception in case that test fails, so it is important to not
catch
* that exception but really let the test fail!
- *
+ *
* @throws Exception
*/
protected void testIsInstalledAndDoInstallation() throws Exception {
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
Sun Jan 22 16:48:27 2017
@@ -27,9 +27,8 @@ import org.openqa.selenium.WebElement;
import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
public class TestSignUp extends AbstractTestDefaults {
-
String pass = "pass";
-
+
@Override
public boolean getDoTearDownAfterTest() {
return false;
@@ -37,97 +36,94 @@ public class TestSignUp extends Abstract
@Test
public void testSignUp() throws Exception {
-
try {
driver.get(getBASE_URL());
-
+
String currentRandomCounter = "" + ((new
Date().getTime())/1000);
String userName = "seba" + currentRandomCounter;
String email = "hans." + currentRandomCounter +
"@openmeetings.apache.org";
-
+
super.testIsInstalledAndDoInstallation();
-
+
WebElement signUpButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(123) + "')]]", true, true);
signUpButton.click();
-
+
// ##################################
// Test validation message for passwords to be identical
// ##################################
doSignUp("Hans","Muster", userName, "pw", "pw2", email);
-
+
//Find Error label-id 232 "Please enter two identical
passwords"
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(232) +
"')]", true, true);
-
-
+
// ##################################
// Sign up with user and sign in
// ##################################
doSignUp("Hans","Muster", userName, pass, pass, email);
-
-
+
//Check for popup with success message and email to
check
//Labelid 674
SeleniumUtils.findElement(driver,
"//span[contains(text(), '" + getString(674) + "')]", true, true);
-
+
//click button to close popup
WebElement signUpSucessPopUpOkButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
DialogButtons.OK.toString() + "')]]", true, true);
signUpSucessPopUpOkButton.click();
-
+
//Login with user
SeleniumUtils.inputText(driver, "login", userName);
SeleniumUtils.inputText(driver, "pass", pass);
-
+
//click labelid 112 "Sign In"
WebElement signInButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(112) + "')]]", true, true);
signInButton.click();
-
+
// check for some text in dashbaord, labelid 281, "Help
and support"
SeleniumUtils.elementExists(driver,
"//h3[contains(text(), '" +
getString(281) + "')]", true);
-
+
//sign out
WebElement signOutLink =
SeleniumUtils.findElement(driver,
"//a[contains(text(), '" +
getString(310) + "')]", true, true);
signOutLink.click();
-
+
Alert alert = driver.switchTo().alert();
alert.accept();
-
+
// ##################################
// Sign up with same user and email and check duplicate
messages
// ##################################
-
+
signUpButton = SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(123) + "')]]", true, true);
signUpButton.click();
-
+
doSignUp("Hans","Muster", userName, pass, pass, email);
-
+
//Find Error label-id 105, The username is already used
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(105) +
"')]", true, true);
-
+
//Find Error label-id 1000, This email is already used
by another user.
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(1000) +
"')]", true, true);
} catch (Exception e) {
SeleniumUtils.makeScreenShot(this.getClass().getSimpleName(), e,
driver);
throw e;
- }
+ }
}
-
+
private void doSignUp(String firstName, String lastName, String login,
String password,
String confirmPassword, String email)
throws Exception {
-
+
SeleniumUtils.inputText(driver, "firstName", firstName);
SeleniumUtils.inputText(driver, "lastName", lastName);
SeleniumUtils.inputText(driver, "//input[@name='login']",
login);
SeleniumUtils.inputText(driver, "password", password);
SeleniumUtils.inputText(driver, "confirmPassword",
confirmPassword);
SeleniumUtils.inputText(driver, "email", email);
-
+
WebElement submitButton = SeleniumUtils.findElement(driver,
"//button[span[contains(text(), 'Register')]]",
true, true);
submitButton.click();
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
Sun Jan 22 16:48:27 2017
@@ -18,35 +18,42 @@
*/
package org.apache.openmeetings.test.web;
+import static org.junit.Assert.assertTrue;
+
import org.apache.openmeetings.test.AbstractWicketTester;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.MainPage;
import org.apache.openmeetings.web.pages.auth.SignInPage;
import org.apache.wicket.util.tester.FormTester;
+import org.junit.Test;
public class LoginUI extends AbstractWicketTester {
-
- //@Test Needs to much memory to start this test, and there is nothing
useful here inside other then some basic
- //proof of concept (basically the concept failed)
- public void testLoginUi() {
-
+ @Test
+ public void testValidLogin() {
tester.startPage(MainPage.class);
-
tester.assertRenderedPage(SignInPage.class);
-
+
FormTester formTester = tester.newFormTester("signin:signin");
formTester.setValue("login", username);
formTester.setValue("pass", userpass);
-
- //How to reference specific buttons in Wicket jQuery UI ?!
-
- formTester.submit();
-
- System.err.println("getLastRenderedPage: "+
tester.getLastRenderedPage().getMarkup().toString());
-
- //will fail
- //tester.assertComponent("dashboard", DashboardPanel.class);
-
+ formTester.submit("submit");
+
+ tester.assertNoErrorMessage();
+ tester.assertRenderedPage(MainPage.class);
+ WebSession ws = (WebSession)tester.getSession();
+ assertTrue("Login should be successful", ws.isSignedIn());
}
-
-}
+ @Test
+ public void testEmptyLogin() {
+ tester.startPage(SignInPage.class);
+ tester.assertRenderedPage(SignInPage.class);
+
+ FormTester formTester = tester.newFormTester("signin:signin");
+ formTester.submit("submit");
+
+ tester.assertErrorMessages(String.format("'%s' is required.",
Application.getString(114))
+ , String.format("'%s' is required.",
Application.getString(115)));
+ }
+}
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
Sun Jan 22 16:48:27 2017
@@ -34,12 +34,11 @@ import org.springframework.beans.factory
@Category(SeleniumTests.class)
public abstract class AbstractTestDefaults extends AbstractSpringTest {
-
@Autowired
private LabelDao labelDao;
public WebDriver driver = null;
-
+
private String BASE_URL = "http://localhost:5080/openmeetings";
private String username = "swagner";
private String userpass = "qweqwe";
@@ -67,11 +66,11 @@ public abstract class AbstractTestDefaul
public String getEmail() {
return email;
}
-
+
public Long getLanguageId() {
return 1L;
}
-
+
public String getLocale() {
return locale;
}
@@ -80,14 +79,14 @@ public abstract class AbstractTestDefaul
// Eclipse, the browser will not shut down after the test so you can
start
// to diagnose the test issue
public boolean doTearDownAfterTest = false;
-
+
public String getString(long id) {
return labelDao.getString(id, getLanguageId());
}
/**
* Make method overwrite possible to have custom behavior in tests
- *
+ *
* @return
*/
public boolean getDoTearDownAfterTest() {
@@ -104,7 +103,7 @@ public abstract class AbstractTestDefaul
/**
* This test is a basic test to verify the default loader mechanism
works
* it is not intend to be a part of any sub test
- *
+ *
* @throws Exception
*/
//@Test
@@ -131,9 +130,9 @@ public abstract class AbstractTestDefaul
}
/**
- * Throws exception in case that test fails, so it is important to not
catch
+ * Throws exception in case that test fails, so it is important to not
catch
* that exception but really let the test fail!
- *
+ *
* @throws Exception
*/
protected void testIsInstalledAndDoInstallation() throws Exception {
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
Sun Jan 22 16:48:27 2017
@@ -27,9 +27,8 @@ import org.openqa.selenium.WebElement;
import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
public class TestSignUp extends AbstractTestDefaults {
-
String pass = "pass";
-
+
@Override
public boolean getDoTearDownAfterTest() {
return false;
@@ -37,97 +36,94 @@ public class TestSignUp extends Abstract
@Test
public void testSignUp() throws Exception {
-
try {
driver.get(getBASE_URL());
-
+
String currentRandomCounter = "" + ((new
Date().getTime())/1000);
String userName = "seba" + currentRandomCounter;
String email = "hans." + currentRandomCounter +
"@openmeetings.apache.org";
-
+
super.testIsInstalledAndDoInstallation();
-
+
WebElement signUpButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(123) + "')]]", true, true);
signUpButton.click();
-
+
// ##################################
// Test validation message for passwords to be identical
// ##################################
doSignUp("Hans","Muster", userName, "pw", "pw2", email);
-
+
//Find Error label-id 232 "Please enter two identical
passwords"
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(232) +
"')]", true, true);
-
-
+
// ##################################
// Sign up with user and sign in
// ##################################
doSignUp("Hans","Muster", userName, pass, pass, email);
-
-
+
//Check for popup with success message and email to
check
//Labelid 674
SeleniumUtils.findElement(driver,
"//span[contains(text(), '" + getString(674) + "')]", true, true);
-
+
//click button to close popup
WebElement signUpSucessPopUpOkButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
DialogButtons.OK.toString() + "')]]", true, true);
signUpSucessPopUpOkButton.click();
-
+
//Login with user
SeleniumUtils.inputText(driver, "login", userName);
SeleniumUtils.inputText(driver, "pass", pass);
-
+
//click labelid 112 "Sign In"
WebElement signInButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(112) + "')]]", true, true);
signInButton.click();
-
+
// check for some text in dashbaord, labelid 281, "Help
and support"
SeleniumUtils.elementExists(driver,
"//h3[contains(text(), '" +
getString(281) + "')]", true);
-
+
//sign out
WebElement signOutLink =
SeleniumUtils.findElement(driver,
"//a[contains(text(), '" +
getString(310) + "')]", true, true);
signOutLink.click();
-
+
Alert alert = driver.switchTo().alert();
alert.accept();
-
+
// ##################################
// Sign up with same user and email and check duplicate
messages
// ##################################
-
+
signUpButton = SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(123) + "')]]", true, true);
signUpButton.click();
-
+
doSignUp("Hans","Muster", userName, pass, pass, email);
-
+
//Find Error label-id 105, The username is already used
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(105) +
"')]", true, true);
-
+
//Find Error label-id 1000, This email is already used
by another user.
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(1000) +
"')]", true, true);
} catch (Exception e) {
SeleniumUtils.makeScreenShot(this.getClass().getSimpleName(), e,
driver);
throw e;
- }
+ }
}
-
+
private void doSignUp(String firstName, String lastName, String login,
String password,
String confirmPassword, String email)
throws Exception {
-
+
SeleniumUtils.inputText(driver, "firstName", firstName);
SeleniumUtils.inputText(driver, "lastName", lastName);
SeleniumUtils.inputText(driver, "//input[@name='login']",
login);
SeleniumUtils.inputText(driver, "password", password);
SeleniumUtils.inputText(driver, "confirmPassword",
confirmPassword);
SeleniumUtils.inputText(driver, "email", email);
-
+
WebElement submitButton = SeleniumUtils.findElement(driver,
"//button[span[contains(text(), 'Register')]]",
true, true);
submitButton.click();
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
Sun Jan 22 16:48:27 2017
@@ -18,35 +18,42 @@
*/
package org.apache.openmeetings.test.web;
+import static org.junit.Assert.assertTrue;
+
import org.apache.openmeetings.test.AbstractWicketTester;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.MainPage;
import org.apache.openmeetings.web.pages.auth.SignInPage;
import org.apache.wicket.util.tester.FormTester;
+import org.junit.Test;
public class LoginUI extends AbstractWicketTester {
-
- //@Test Needs to much memory to start this test, and there is nothing
useful here inside other then some basic
- //proof of concept (basically the concept failed)
- public void testLoginUi() {
-
+ @Test
+ public void testValidLogin() {
tester.startPage(MainPage.class);
-
tester.assertRenderedPage(SignInPage.class);
-
+
FormTester formTester = tester.newFormTester("signin:signin");
formTester.setValue("login", username);
formTester.setValue("pass", userpass);
-
- //How to reference specific buttons in Wicket jQuery UI ?!
-
- formTester.submit();
-
- System.err.println("getLastRenderedPage: "+
tester.getLastRenderedPage().getMarkup().toString());
-
- //will fail
- //tester.assertComponent("dashboard", DashboardPanel.class);
-
+ formTester.submit("submit");
+
+ tester.assertNoErrorMessage();
+ tester.assertRenderedPage(MainPage.class);
+ WebSession ws = (WebSession)tester.getSession();
+ assertTrue("Login should be successful", ws.isSignedIn());
}
-
-}
+ @Test
+ public void testEmptyLogin() {
+ tester.startPage(SignInPage.class);
+ tester.assertRenderedPage(SignInPage.class);
+
+ FormTester formTester = tester.newFormTester("signin:signin");
+ formTester.submit("submit");
+
+ tester.assertErrorMessages(String.format("'%s' is required.",
Application.getString(114))
+ , String.format("'%s' is required.",
Application.getString(115)));
+ }
+}
Modified:
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
Sun Jan 22 16:48:27 2017
@@ -34,12 +34,11 @@ import org.springframework.beans.factory
@Category(SeleniumTests.class)
public abstract class AbstractTestDefaults extends AbstractSpringTest {
-
@Autowired
private LabelDao labelDao;
public WebDriver driver = null;
-
+
private String BASE_URL = "http://localhost:5080/openmeetings";
private String username = "swagner";
private String userpass = "qweqwe";
@@ -67,11 +66,11 @@ public abstract class AbstractTestDefaul
public String getEmail() {
return email;
}
-
+
public Long getLanguageId() {
return 1L;
}
-
+
public String getLocale() {
return locale;
}
@@ -80,14 +79,14 @@ public abstract class AbstractTestDefaul
// Eclipse, the browser will not shut down after the test so you can
start
// to diagnose the test issue
public boolean doTearDownAfterTest = false;
-
+
public String getString(long id) {
return labelDao.getString(id, getLanguageId());
}
/**
* Make method overwrite possible to have custom behavior in tests
- *
+ *
* @return
*/
public boolean getDoTearDownAfterTest() {
@@ -104,7 +103,7 @@ public abstract class AbstractTestDefaul
/**
* This test is a basic test to verify the default loader mechanism
works
* it is not intend to be a part of any sub test
- *
+ *
* @throws Exception
*/
//@Test
@@ -131,9 +130,9 @@ public abstract class AbstractTestDefaul
}
/**
- * Throws exception in case that test fails, so it is important to not
catch
+ * Throws exception in case that test fails, so it is important to not
catch
* that exception but really let the test fail!
- *
+ *
* @throws Exception
*/
protected void testIsInstalledAndDoInstallation() throws Exception {
Modified:
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
Sun Jan 22 16:48:27 2017
@@ -27,9 +27,8 @@ import org.openqa.selenium.WebElement;
import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
public class TestSignUp extends AbstractTestDefaults {
-
String pass = "pass";
-
+
@Override
public boolean getDoTearDownAfterTest() {
return false;
@@ -37,97 +36,94 @@ public class TestSignUp extends Abstract
@Test
public void testSignUp() throws Exception {
-
try {
driver.get(getBASE_URL());
-
+
String currentRandomCounter = "" + ((new
Date().getTime())/1000);
String userName = "seba" + currentRandomCounter;
String email = "hans." + currentRandomCounter +
"@openmeetings.apache.org";
-
+
super.testIsInstalledAndDoInstallation();
-
+
WebElement signUpButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(123) + "')]]", true, true);
signUpButton.click();
-
+
// ##################################
// Test validation message for passwords to be identical
// ##################################
doSignUp("Hans","Muster", userName, "pw", "pw2", email);
-
+
//Find Error label-id 232 "Please enter two identical
passwords"
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(232) +
"')]", true, true);
-
-
+
// ##################################
// Sign up with user and sign in
// ##################################
doSignUp("Hans","Muster", userName, pass, pass, email);
-
-
+
//Check for popup with success message and email to
check
//Labelid 674
SeleniumUtils.findElement(driver,
"//span[contains(text(), '" + getString(674) + "')]", true, true);
-
+
//click button to close popup
WebElement signUpSucessPopUpOkButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
DialogButtons.OK.toString() + "')]]", true, true);
signUpSucessPopUpOkButton.click();
-
+
//Login with user
SeleniumUtils.inputText(driver, "login", userName);
SeleniumUtils.inputText(driver, "pass", pass);
-
+
//click labelid 112 "Sign In"
WebElement signInButton =
SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(112) + "')]]", true, true);
signInButton.click();
-
+
// check for some text in dashbaord, labelid 281, "Help
and support"
SeleniumUtils.elementExists(driver,
"//h3[contains(text(), '" +
getString(281) + "')]", true);
-
+
//sign out
WebElement signOutLink =
SeleniumUtils.findElement(driver,
"//a[contains(text(), '" +
getString(310) + "')]", true, true);
signOutLink.click();
-
+
Alert alert = driver.switchTo().alert();
alert.accept();
-
+
// ##################################
// Sign up with same user and email and check duplicate
messages
// ##################################
-
+
signUpButton = SeleniumUtils.findElement(driver,
"//button[span[contains(text(), '" +
getString(123) + "')]]", true, true);
signUpButton.click();
-
+
doSignUp("Hans","Muster", userName, pass, pass, email);
-
+
//Find Error label-id 105, The username is already used
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(105) +
"')]", true, true);
-
+
//Find Error label-id 1000, This email is already used
by another user.
SeleniumUtils.findElement(driver,
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(1000) +
"')]", true, true);
} catch (Exception e) {
SeleniumUtils.makeScreenShot(this.getClass().getSimpleName(), e,
driver);
throw e;
- }
+ }
}
-
+
private void doSignUp(String firstName, String lastName, String login,
String password,
String confirmPassword, String email)
throws Exception {
-
+
SeleniumUtils.inputText(driver, "firstName", firstName);
SeleniumUtils.inputText(driver, "lastName", lastName);
SeleniumUtils.inputText(driver, "//input[@name='login']",
login);
SeleniumUtils.inputText(driver, "password", password);
SeleniumUtils.inputText(driver, "confirmPassword",
confirmPassword);
SeleniumUtils.inputText(driver, "email", email);
-
+
WebElement submitButton = SeleniumUtils.findElement(driver,
"//button[span[contains(text(), 'Register')]]",
true, true);
submitButton.click();
Modified:
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
Sun Jan 22 16:48:27 2017
@@ -18,35 +18,42 @@
*/
package org.apache.openmeetings.test.web;
+import static org.junit.Assert.assertTrue;
+
import org.apache.openmeetings.test.AbstractWicketTester;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.MainPage;
import org.apache.openmeetings.web.pages.auth.SignInPage;
import org.apache.wicket.util.tester.FormTester;
+import org.junit.Test;
public class LoginUI extends AbstractWicketTester {
-
- //@Test Needs to much memory to start this test, and there is nothing
useful here inside other then some basic
- //proof of concept (basically the concept failed)
- public void testLoginUi() {
-
+ @Test
+ public void testValidLogin() {
tester.startPage(MainPage.class);
-
tester.assertRenderedPage(SignInPage.class);
-
+
FormTester formTester = tester.newFormTester("signin:signin");
formTester.setValue("login", username);
formTester.setValue("pass", userpass);
-
- //How to reference specific buttons in Wicket jQuery UI ?!
-
- formTester.submit();
-
- System.err.println("getLastRenderedPage: "+
tester.getLastRenderedPage().getMarkup().toString());
-
- //will fail
- //tester.assertComponent("dashboard", DashboardPanel.class);
-
+ formTester.submit("submit");
+
+ tester.assertNoErrorMessage();
+ tester.assertRenderedPage(MainPage.class);
+ WebSession ws = (WebSession)tester.getSession();
+ assertTrue("Login should be successful", ws.isSignedIn());
}
-
-}
+ @Test
+ public void testEmptyLogin() {
+ tester.startPage(SignInPage.class);
+ tester.assertRenderedPage(SignInPage.class);
+
+ FormTester formTester = tester.newFormTester("signin:signin");
+ formTester.submit("submit");
+
+ tester.assertErrorMessages(String.format("'%s' is required.",
Application.getString(114))
+ , String.format("'%s' is required.",
Application.getString(115)));
+ }
+}