[kune-commits] r1596 - in trunk/src: main/java/cc/kune/core/client/i18n main/resources test/java/cc/kune/selenium test/java/cc/kune/selenium/chat test/java/cc/kune/selenium/general test/java/cc/kune/selenium/login test/java/cc/kune/selenium/spaces

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Wed Nov 9 03:39:48 CET 2011


Author: vjrj_
Date: 2011-11-09 03:39:48 +0100 (Wed, 09 Nov 2011)
New Revision: 1596

Added:
   trunk/src/test/java/cc/kune/selenium/spaces/
   trunk/src/test/java/cc/kune/selenium/spaces/GroupSpacePageObject.java
   trunk/src/test/java/cc/kune/selenium/spaces/HomeSpacePageObject.java
   trunk/src/test/java/cc/kune/selenium/spaces/SpacesPageObject.java
Removed:
   trunk/src/test/java/cc/kune/selenium/general/SpacesPageObject.java
   trunk/src/test/java/cc/kune/selenium/userspace/
Modified:
   trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
   trunk/src/main/resources/TestConstants_en.properties
   trunk/src/main/resources/TestConstants_es.properties
   trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
   trunk/src/test/java/cc/kune/selenium/SeleniumModule.java
   trunk/src/test/java/cc/kune/selenium/chat/ChatPageObject.java
   trunk/src/test/java/cc/kune/selenium/login/RegisterSeleniumTests.java
   trunk/src/test/java/cc/kune/selenium/spaces/UserSpacePageObject.java
Log:
NEW - # 127: Generate some screencast while doing automate testing 
http://kune.ourproject.org/issues/ticket/127

Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java	2011-11-08 15:03:19 UTC (rev 1595)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -19,11 +19,12 @@
  */
 package cc.kune.core.client.i18n;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.MissingResourceException;
+import java.util.Set;
 
 import cc.kune.common.client.log.Log;
 import cc.kune.common.client.utils.Location;
@@ -32,6 +33,8 @@
 import cc.kune.common.client.utils.WindowUtils;
 import cc.kune.core.client.rpcservices.I18nServiceAsync;
 import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.UserSignInEvent;
+import cc.kune.core.client.state.UserSignInEvent.UserSignInHandler;
 import cc.kune.core.shared.dto.I18nLanguageDTO;
 import cc.kune.core.shared.i18n.I18nTranslationService;
 
@@ -47,7 +50,7 @@
 public class I18nUITranslationService extends I18nTranslationService {
   private I18nLanguageDTO currentLang;
   private String currentLanguageCode;
-  private final ArrayList<Pair<String, String>> earlyTexts;
+  private final Set<Pair<String, String>> earlyTexts;
   private final I18nServiceAsync i18nService;
   private final KuneConstants kuneConstants;
   private HashMap<String, String> lexicon;
@@ -67,7 +70,7 @@
         + LocaleInfo.getCurrentLocale().isRTL() + ", translated langs: "
         + Arrays.toString(LocaleInfo.getAvailableLocaleNames()));
 
-    earlyTexts = new ArrayList<Pair<String, String>>();
+    earlyTexts = new HashSet<Pair<String, String>>();
 
     i18nService.getInitialLanguage(locale, new AsyncCallback<I18nLanguageDTO>() {
       @Override
@@ -92,14 +95,18 @@
             session.setCurrentLanguage(currentLang);
             Log.info("Workspace adaptation to language: " + currentLang.getEnglishName());
             eventBus.fireEvent(new I18nReadyEvent());
+          }
+        });
+        session.onUserSignIn(true, new UserSignInHandler() {
+          @Override
+          public void onUserSignIn(final UserSignInEvent event) {
             Scheduler.get().scheduleIncremental(new RepeatingCommand() {
-
               @Override
               public boolean execute() {
                 if (!earlyTexts.isEmpty()) {
-                  final Pair<String, String> pair = earlyTexts.get(0);
+                  final Pair<String, String> pair = earlyTexts.iterator().next();
                   save(pair.getLeft(), pair.getRight());
-                  earlyTexts.remove(0);
+                  earlyTexts.remove(pair);
                 }
                 return !earlyTexts.isEmpty();
               }
@@ -243,6 +250,7 @@
       if (lexicon == null) {
         Log.warn("i18n not initialized: " + text);
         earlyTexts.add(Pair.create(text, noteForTranslators));
+        Log.warn("i18n pending translations: " + earlyTexts.size());
         return text;
       }
       String translation = lexicon.get(encodeText);
@@ -255,8 +263,9 @@
         // Not translated and not in db, make a petition for translation
         if (session.isLogged()) {
           save(text, noteForTranslators);
-
           lexicon.put(encodeText, UNTRANSLATED_VALUE);
+        } else {
+          earlyTexts.add(Pair.create(text, noteForTranslators));
         }
         translation = encodeText;
       }

Modified: trunk/src/main/resources/TestConstants_en.properties
===================================================================
--- trunk/src/main/resources/TestConstants_en.properties	2011-11-08 15:03:19 UTC (rev 1595)
+++ trunk/src/main/resources/TestConstants_en.properties	2011-11-09 02:39:48 UTC (rev 1596)
@@ -19,4 +19,21 @@
 iMJustTesting = I'm just testing
 youCanSeeThisLikeAnAdvancedEmailSystem = You can see this like an advanced email system...
 whereYouCanComposePersonalMessages = where you can compose personal messages...
-butAlsoCreateContentsToPublishLater = but also create contents to publish later
\ No newline at end of file
+butAlsoCreateContentsToPublishLater = but also create contents to publish later
+homeSpaceYourWelcomePage = Home space (your welcome page)
+hereYouCanSeeASummaryOfYourActivityInThisSite = Here you can see a summary of the activity in this site
+congratulationsForYourReport = Congratulations for your report\n\n
+hiThereJustToSayThatILike = Hi there, Just to say that I like
+aLotYourLastReport = a lot your last report\n\n
+bestJane = Best\n\nJane\n
+andYouCanChatEventWhileGoingBackForwardWithYourBrowser = And you can chat event while going back/forward with your browser
+laLaLa = la la la
+browserHistoryBack = Browser history back
+iCanContinueChatSmoothly = I can continue chat smoothly ;)
+browserHistoryForward = Browser history forward
+goodbye = goodbye!
+jane = jane
+janeDoe = Jane Doe
+janeexampleOrg = jane at example.org
+thankYou = Thank you
+andYesFeedbackWelcome = and yes, feedback welcome
\ No newline at end of file

Modified: trunk/src/main/resources/TestConstants_es.properties
===================================================================
--- trunk/src/main/resources/TestConstants_es.properties	2011-11-08 15:03:19 UTC (rev 1595)
+++ trunk/src/main/resources/TestConstants_es.properties	2011-11-09 02:39:48 UTC (rev 1596)
@@ -13,4 +13,21 @@
 iMJustTesting = Solo estoy probando
 youCanSeeThisLikeAnAdvancedEmailSystem = Puedes ver esto como un sistema avanzado de correo...
 whereYouCanComposePersonalMessages = donde puedes escribir mensajes personales...
-butAlsoCreateContentsToPublishLater = pero también crear contenidos para publicarlos luego
\ No newline at end of file
+butAlsoCreateContentsToPublishLater = pero también crear contenidos para publicarlos luego
+homeSpaceYourWelcomePage = Espacio Inicial (tu página de bienvenida)
+hereYouCanSeeASummaryOfYourActivityInThisSite = Aquí puedes ver un resumen de la actividad en este sitio
+congratulationsForYourReport = Enhorabuena por tu informe\n\n
+hiThereJustToSayThatILike = Muy buenas,\n\nSolo quería decir que me gustó
+aLotYourLastReport = \smucho tu informe\n\n
+bestJane = Atentamente\n\nRuth\n
+andYouCanChatEventWhileGoingBackForwardWithYourBrowser = Y puedes chatear mientras le das atrás y adelante al historial tu navegador
+laLaLa = la la la
+browserHistoryBack = Voy con el navegador hacia atrás
+iCanContinueChatSmoothly = puedo continuar chateando sin problemas ;)
+browserHistoryForward = Voy con el navegador hacia delante
+goodbye = ¡adios!
+jane = ruth
+janeDoe = Ruth Mengana
+janeexampleOrg = ruth at example.org
+thankYou = Gracias
+andYesFeedbackWelcome = y sí, feedback bienvenido
\ No newline at end of file

Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java	2011-11-08 15:03:19 UTC (rev 1595)
+++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -42,11 +42,13 @@
 import cc.kune.core.shared.domain.utils.StateToken;
 import cc.kune.selenium.chat.ChatPageObject;
 import cc.kune.selenium.general.EntityHeaderPageObject;
-import cc.kune.selenium.general.SpacesPageObject;
 import cc.kune.selenium.login.LoginPageObject;
 import cc.kune.selenium.login.RegisterPageObject;
+import cc.kune.selenium.spaces.GroupSpacePageObject;
+import cc.kune.selenium.spaces.HomeSpacePageObject;
+import cc.kune.selenium.spaces.SpacesPageObject;
+import cc.kune.selenium.spaces.UserSpacePageObject;
 import cc.kune.selenium.tools.SeleniumConstants;
-import cc.kune.selenium.userspace.UserSpacePageObject;
 
 import com.google.inject.Guice;
 import com.google.inject.Injector;
@@ -60,6 +62,8 @@
   private final String baseUrl;
   protected final ChatPageObject chat;
   protected final EntityHeaderPageObject entityHeader;
+  protected final GroupSpacePageObject groupSpace;
+  protected final HomeSpacePageObject homeSpace;
   private final Injector injector;
   protected LoginPageObject login;
   private final ResourceBundle messages;
@@ -80,7 +84,9 @@
     entityHeader = injector.getInstance(EntityHeaderPageObject.class);
     spaces = injector.getInstance(SpacesPageObject.class);
     chat = injector.getInstance(ChatPageObject.class);
+    homeSpace = injector.getInstance(HomeSpacePageObject.class);
     userSpace = injector.getInstance(UserSpacePageObject.class);
+    groupSpace = injector.getInstance(GroupSpacePageObject.class);
     messages = injector.getInstance(ResourceBundle.class);
     final ElementLocatorFactory locator = injector.getInstance(ElementLocatorFactory.class);
     PageFactory.initElements(locator, login);
@@ -88,7 +94,9 @@
     PageFactory.initElements(locator, entityHeader);
     PageFactory.initElements(locator, spaces);
     PageFactory.initElements(locator, chat);
+    PageFactory.initElements(locator, homeSpace);
     PageFactory.initElements(locator, userSpace);
+    PageFactory.initElements(locator, groupSpace);
   }
 
   @BeforeMethod
@@ -101,9 +109,19 @@
     resize();
     SeleniumUtils.initCursor(webdriver);
     SeleniumUtils.showCursor(webdriver);
+    SeleniumUtils.showCursor(webdriver, login.getAnonMsg());
+    sleep(1000);
     login.getAnonMsg().click();
   }
 
+  public void browserBack() {
+    webdriver.navigate().back();
+  }
+
+  public void browserForward() {
+    webdriver.navigate().forward();
+  }
+
   public void close() {
     webdriver.close();
   }
@@ -125,7 +143,7 @@
   @DataProvider(name = "correctregister")
   public Object[][] createCorrectRegister() {
     // The default correct user/password used in tests
-    return new Object[][] { { "jane", "Jane Doe", SeleniumConstants.USER_PASSWD, "jane at example.com" } };
+    return new Object[][] { { "jane", "Jane Doe", SeleniumConstants.USER_PASSWD, "jane at example.org" } };
   }
 
   @DataProvider(name = "incorrectlogin")

Modified: trunk/src/test/java/cc/kune/selenium/SeleniumModule.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/SeleniumModule.java	2011-11-08 15:03:19 UTC (rev 1595)
+++ trunk/src/test/java/cc/kune/selenium/SeleniumModule.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -36,9 +36,9 @@
 
 import cc.kune.selenium.chat.ChatPageObject;
 import cc.kune.selenium.general.EntityHeaderPageObject;
-import cc.kune.selenium.general.SpacesPageObject;
 import cc.kune.selenium.login.LoginPageObject;
 import cc.kune.selenium.login.RegisterPageObject;
+import cc.kune.selenium.spaces.SpacesPageObject;
 import cc.kune.selenium.tools.SeleniumConstants;
 
 import com.google.inject.Singleton;

Modified: trunk/src/test/java/cc/kune/selenium/chat/ChatPageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/chat/ChatPageObject.java	2011-11-08 15:03:19 UTC (rev 1595)
+++ trunk/src/test/java/cc/kune/selenium/chat/ChatPageObject.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -37,6 +37,8 @@
   private WebElement addToRoster;
   @FindBy(id = SeleniumConstants.GWTDEV + ChatClient.CHAT_CLIENT_ICON_ID)
   private WebElement chatIcon;
+  @FindBy(xpath = "//div[14]/div/div/div/div/div/table/tbody/tr/td[2]/div")
+  private WebElement closeChat;
   @FindBy(id = SeleniumConstants.GWTDEV + "OpenChatWidget-jabberId")
   private WebElement jid;
   @FindBy(id = SeleniumConstants.GWTDEV + "HablarOpenChat-openAction")
@@ -44,6 +46,10 @@
   @FindBy(id = SeleniumConstants.GWTDEV + "OpenChatWidget-open")
   private WebElement openChatBtn;
 
+  public void close() {
+    closeChat.click();
+  }
+
   // Duplicate in Hablar (we need a common PageObject)
   public WebElement getHeader(final String uri) {
     final String pageId = Idify.uriId(uri);
@@ -80,17 +86,16 @@
   }
 
   public void openChat(final XmppURI uri) {
-    hightlight(openChat);
+    // hightlight(openChat);
     openChat.click();
     jid.sendKeys(uri.toString());
-    hightlight(addToRoster);
+    // hightlight(addToRoster);
     addToRoster.click();
-    hightlight(openChatBtn);
+    // hightlight(openChatBtn);
     openChatBtn.click();
   }
 
   public void show() {
-    hightlight(chatIcon);
     chatIcon.click();
   }
 

Deleted: trunk/src/test/java/cc/kune/selenium/general/SpacesPageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/general/SpacesPageObject.java	2011-11-08 15:03:19 UTC (rev 1595)
+++ trunk/src/test/java/cc/kune/selenium/general/SpacesPageObject.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -1,59 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.selenium.general;
-
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.FindBy;
-
-import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter.SpaceSelectorView;
-import cc.kune.selenium.PageObject;
-import cc.kune.selenium.tools.SeleniumConstants;
-
-public class SpacesPageObject extends PageObject {
-
-  @FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.GROUP_SPACE_ID)
-  protected WebElement groupSpaceBtn;
-  @FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.HOME_SPACE_ID)
-  protected WebElement homeSpaceBtn;
-  @FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.PUBLIC_SPACE_ID)
-  protected WebElement publicSpaceBtn;
-  @FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.USER_SPACE_ID)
-  protected WebElement userSpaceBtn;
-
-  public SpacesPageObject() {
-  }
-
-  public WebElement groupBtn() {
-    return groupSpaceBtn;
-  }
-
-  public WebElement homeBtn() {
-    return homeSpaceBtn;
-  }
-
-  public WebElement publicBtn() {
-    return publicSpaceBtn;
-  }
-
-  public WebElement userBtn() {
-    return userSpaceBtn;
-  }
-
-}

Modified: trunk/src/test/java/cc/kune/selenium/login/RegisterSeleniumTests.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/login/RegisterSeleniumTests.java	2011-11-08 15:03:19 UTC (rev 1595)
+++ trunk/src/test/java/cc/kune/selenium/login/RegisterSeleniumTests.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -19,6 +19,7 @@
  */
 package cc.kune.selenium.login;
 
+import org.openqa.selenium.Keys;
 import org.testng.annotations.Test;
 
 import cc.kune.core.client.state.SiteTokens;
@@ -31,18 +32,30 @@
 public class RegisterSeleniumTests extends KuneSeleniumTest {
 
   @Test(dataProvider = "correctregister")
-  public void basicRegister(final String shortName, final String longName, final String passwd,
-      final String email) {
+  public void basicRegister(final String shortNameUntrans, final String longNameUntrans,
+      final String passwd, final String emailUntrans) {
+    final String shortName = t(shortNameUntrans);
+    final String longName = t(longNameUntrans);
+    final String email = t(emailUntrans);
     SeleniumUtils.fastSpeed(false);
     // 15 chars, the limit, so we don't use shortName
     final String prefix = getTempString();
     showTitleSlide(t("User registration"), t("to get full access to this site tools/contents"));
     login.createOne();
     register.fillRegisterForm(shortName + prefix, longName + prefix, passwd, prefix + email, false);
+    sleep(1000);
     login.assertIsConnectedAs(prefix);
-    sleep(1000);
     entityHeader.waitForEntityTitle(longName + prefix);
     register.getWelcomeMsg().click();
+    // home space
+    showTitleSlide(t("Home space (your welcome page)"),
+        t("Here you can see a summary of your activity in this site"));
+    spaces.homeBtn().click();
+    sleep(2000);
+    homeSpace.getSndStats().click();
+    sleep(2000);
+    homeSpace.getTrdStats().click();
+    sleep(2000);
 
     // user space
     showTitleSlide(t("User space (your Inbox)"), t("contents in which you participate"));
@@ -54,12 +67,20 @@
     userSpace.getNewWave().click();
     showMsg(t("where you can compose personal messages..."));
     showMsg(t("but also create contents to publish later"));
+    userSpace.rootBlipText().sendKeys(t("Congratulations for your report\n\n"));
+    sleep(1000);
+    userSpace.getCursive().click();
+    userSpace.rootBlipText().sendKeys(
+        t("Hi there, Just to say that I like") + t("a lot your last report\n\n"));
+    sleep(1000);
+    userSpace.getCursive().click();
+    userSpace.rootBlipText().sendKeys(t("Best\n\nJane"));
     sleep(3000);
-
+    userSpace.getRootEdit().click();
     // chat
     showTitleSlide(t("Chat with your buddies"), t("compatible with gmail and similars"),
         SiteTokens.WAVEINBOX);
-    showTooltip(chat.icon());
+    // showTooltip(chat.icon());
     chat.show();
     sleep(3000);
 
@@ -74,7 +95,29 @@
     chat.getTalkBox(jids).sendKeys(t("I'm just testing"));
     chat.getSend(jids).click();
 
+    showMsg(t("And you can chat event while going back/forward with your browser"));
+    spaces.homeBtn().click();
+    sleep(2000);
+    chat.getTalkBox(jids).sendKeys(t("la la la"));
+    chat.getSend(jids).click();
+    showMsg(t("Browser history back"));
+    browserBack();
+    sleep(2000);
+    chat.getTalkBox(jids).sendKeys(t("I can continue chat smoothly ;)"));
+    chat.getSend(jids).click();
+    sleep(2000);
+    showMsg(t("Browser history forward"));
+    browserForward();
+    chat.getTalkBox(jids).sendKeys(t("goodbye!"));
+    chat.getSend(jids).click();
+    sleep(1000);
+    chat.getTalkBox(jids).sendKeys(Keys.chord(Keys.ALT, "C"));
+    // chat.close();
+
     login.logout();
+
+    showTitleSlide(t("Thank you"), t("and yes, feedback welcome"));
+
   }
 
 }

Copied: trunk/src/test/java/cc/kune/selenium/spaces (from rev 1594, trunk/src/test/java/cc/kune/selenium/userspace)

Added: trunk/src/test/java/cc/kune/selenium/spaces/GroupSpacePageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/spaces/GroupSpacePageObject.java	                        (rev 0)
+++ trunk/src/test/java/cc/kune/selenium/spaces/GroupSpacePageObject.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -0,0 +1,84 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.selenium.spaces;
+
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+
+import cc.kune.selenium.PageObject;
+
+public class GroupSpacePageObject extends PageObject {
+
+  @FindBy(xpath = "//div[2]/div/div[3]/div/span")
+  private WebElement blogTool;
+  @FindBy(xpath = "//div[2]/div/div[4]/div/span")
+  private WebElement chatTool;
+  @FindBy(xpath = "//div[3]/div/div[2]/div/div/div/span")
+  private WebElement docTool;
+  @FindBy(xpath = "//div[2]/div/div[6]/div/span")
+  private WebElement eventTool;
+  @FindBy(xpath = "//td/img")
+  private WebElement firstAvatarOfGroup;
+  @FindBy(xpath = "//div[2]/div/div[5]/div/span")
+  private WebElement listTool;
+  @FindBy(xpath = "//div[3]/div/button")
+  private WebElement socialNetOptions;
+  @FindBy(xpath = "//div[2]/div/div[7]/div/span")
+  private WebElement taskTool;
+  @FindBy(xpath = "//div[2]/div/div[7]/div/span")
+  private WebElement wikiTool;
+
+  public WebElement getBlogTool() {
+    return blogTool;
+  }
+
+  public WebElement getChatTool() {
+    return chatTool;
+  }
+
+  public WebElement getDocTool() {
+    return docTool;
+  }
+
+  public WebElement getEventTool() {
+    return eventTool;
+  }
+
+  public WebElement getFirstAvatarOfGroup() {
+    return firstAvatarOfGroup;
+  }
+
+  public WebElement getListTool() {
+    return listTool;
+  }
+
+  public WebElement getSocialNetOptions() {
+    return socialNetOptions;
+  }
+
+  public WebElement getTaskTool() {
+    return taskTool;
+  }
+
+  public WebElement getWikiTool() {
+    return wikiTool;
+  }
+
+}

Added: trunk/src/test/java/cc/kune/selenium/spaces/HomeSpacePageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/spaces/HomeSpacePageObject.java	                        (rev 0)
+++ trunk/src/test/java/cc/kune/selenium/spaces/HomeSpacePageObject.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -0,0 +1,51 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.selenium.spaces;
+
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+
+import cc.kune.selenium.PageObject;
+
+public class HomeSpacePageObject extends PageObject {
+
+  @FindBy(xpath = "//div[@id='k-home-group-stats']/div/div[2]/div/div/div/img")
+  private WebElement fstStats;
+  @FindBy(xpath = "//div[@id='k-home-group-stats']/div/div[2]/div/div[2]/div/img")
+  private WebElement sndStats;
+  @FindBy(xpath = "//div[@id='k-home-group-stats']/div/div[2]/div/div[3]/div/img")
+  private WebElement trdStats;
+
+  public HomeSpacePageObject() {
+  }
+
+  public WebElement getFstStats() {
+    return fstStats;
+  }
+
+  public WebElement getSndStats() {
+    return sndStats;
+  }
+
+  public WebElement getTrdStats() {
+    return trdStats;
+  }
+
+}

Copied: trunk/src/test/java/cc/kune/selenium/spaces/SpacesPageObject.java (from rev 1556, trunk/src/test/java/cc/kune/selenium/general/SpacesPageObject.java)
===================================================================
--- trunk/src/test/java/cc/kune/selenium/spaces/SpacesPageObject.java	                        (rev 0)
+++ trunk/src/test/java/cc/kune/selenium/spaces/SpacesPageObject.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -0,0 +1,59 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.selenium.spaces;
+
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+
+import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter.SpaceSelectorView;
+import cc.kune.selenium.PageObject;
+import cc.kune.selenium.tools.SeleniumConstants;
+
+public class SpacesPageObject extends PageObject {
+
+  @FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.GROUP_SPACE_ID)
+  protected WebElement groupSpaceBtn;
+  @FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.HOME_SPACE_ID)
+  protected WebElement homeSpaceBtn;
+  @FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.PUBLIC_SPACE_ID)
+  protected WebElement publicSpaceBtn;
+  @FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.USER_SPACE_ID)
+  protected WebElement userSpaceBtn;
+
+  public SpacesPageObject() {
+  }
+
+  public WebElement groupBtn() {
+    return groupSpaceBtn;
+  }
+
+  public WebElement homeBtn() {
+    return homeSpaceBtn;
+  }
+
+  public WebElement publicBtn() {
+    return publicSpaceBtn;
+  }
+
+  public WebElement userBtn() {
+    return userSpaceBtn;
+  }
+
+}

Modified: trunk/src/test/java/cc/kune/selenium/spaces/UserSpacePageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/userspace/UserSpacePageObject.java	2011-11-08 14:16:07 UTC (rev 1594)
+++ trunk/src/test/java/cc/kune/selenium/spaces/UserSpacePageObject.java	2011-11-09 02:39:48 UTC (rev 1596)
@@ -17,7 +17,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  */
-package cc.kune.selenium.userspace;
+package cc.kune.selenium.spaces;
 
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
@@ -27,16 +27,41 @@
 
 public class UserSpacePageObject extends PageObject {
 
+  @FindBy(xpath = "//div[2]/div/div[2]/div[3]/div[4]")
+  private WebElement cursive;
+
+  @FindBy(xpath = "//div[3]/div/div/div[2]/div/div/div[3]")
+  private WebElement firstReplyTitlebar;
+
   @FindBy(xpath = "//div[3]/div/div/span[2]")
   private WebElement firstWave;
+
   @FindBy(xpath = "//div[2]/div[2]/div[4]")
   private WebElement newWave;
-  @FindBy(xpath = "")
-  private WebElement wavePanel;
 
+  @FindBy(xpath = "//div[10]/div/div/div/div[3]/div/div[2]")
+  private WebElement replyRootBlip;
+
+  @FindBy(xpath = "//div[10]/div/div/div/div[3]/div/div/div/div/div/div[3]")
+  private WebElement rootBlip;
+
+  @FindBy(xpath = "//ul/div")
+  private WebElement rootBlipText;
+  @FindBy(xpath = "//div[3]/div/div/div/div/div/div/span")
+  // this works but with click coords 5,5
+  private WebElement rootEdit;
+
   public UserSpacePageObject() {
   }
 
+  public WebElement getCursive() {
+    return cursive;
+  }
+
+  public WebElement getFirstReplyTitlebar() {
+    return firstReplyTitlebar;
+  }
+
   public WebElement getFirstWave() {
     return findElement(By.xpath("//div[3]/div[4]/div"));
   }
@@ -45,7 +70,24 @@
     return findElement(By.xpath("//div[2]/div[2]/div[4]"));
   }
 
-  public WebElement getWavePanel() {
-    return wavePanel;
+  public WebElement getReplyRootBlip() {
+    return replyRootBlip;
   }
+
+  public WebElement getRootBlip() {
+    return rootBlip;
+  }
+
+  public WebElement getRootBlipText() {
+    return rootBlipText;
+  }
+
+  public WebElement getRootEdit() {
+    return rootEdit;
+  }
+
+  public WebElement rootBlipText() {
+    return rootBlipText;
+  }
+
 }




More information about the kune-commits mailing list