[portal-commits] JBoss Portal SVN: r12939 - in branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium: cms and 1 other directory.
portal-commits at lists.jboss.org
portal-commits at lists.jboss.org
Wed Mar 4 07:54:06 EST 2009
Author: vrockai
Date: 2009-03-04 07:54:06 -0500 (Wed, 04 Mar 2009)
New Revision: 12939
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/cms/CMSFileWorkflowTestCase.java
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/locator.properties
Log:
[JBPORTAL-2311] cms with workflow
Modified: branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/cms/CMSFileWorkflowTestCase.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/cms/CMSFileWorkflowTestCase.java 2009-03-04 12:25:26 UTC (rev 12938)
+++ branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/cms/CMSFileWorkflowTestCase.java 2009-03-04 12:54:06 UTC (rev 12939)
@@ -1,5 +1,7 @@
package org.jboss.portal.test.selenium.cms;
+import java.text.MessageFormat;
+
import org.jboss.portal.test.selenium.JBossPortalSeleniumTestCase;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
@@ -12,14 +14,35 @@
@Test(groups = { "cms_file_workflow" }, enabled = true)
public class CMSFileWorkflowTestCase extends JBossPortalSeleniumTestCase {
+
+ private static final String SUB_MOVE = "submit";
+
public final String casePfx = "cms.file.work.";
+ private final String LAB_LANG_CZECH = getProp(casePfx+"lab.lang.czech","label=Czech");
+ private final String LNK_DENY = getProp(casePfx+"lnk.deny","link=Deny");
+ private final String LNK_PREVIEW = getProp(casePfx+"lnk.preview","link=Preview");
+ private final String LNK_APPROVE = getProp(casePfx+"lnk.approve","link=Approve");
+ private final String SUB_FILE_CREATE = getProp(casePfx+"sub.file.create","save");
+ private final String SUB_FILE_CREATE_CANCEL = getProp(casePfx+"sub.file.create.cancel","cancel");
+ private final String SEL_LANG = getProp(casePfx+"sel.lang","language");
+ private final String INP_TITLE = getProp(casePfx+"inp.title","title");
+ private final String INP_DESC = getProp(casePfx+"inp.desc","description");
+ private final String INP_FILENAME = getProp(casePfx+"inp.filename","filename");
+ private final String LAB_CREATE_FILE = getProp(casePfx+"lab.create.file","label=Create File");
+ private final String LNK_CMS = getProp(casePfx+"lnk.cms","link=CMS");
+ private final String LNK_ADMIN = getProp(casePfx+"lnk.admin","link=Admin");
+
public final String SELECT_CMS_MAIN = getProp(casePfx+"select.cms.main","//div[@id='center']/div/div/div[1]/div/select");
public final String CMS_FILE_TABLE = getProp(casePfx+"cms.file.table","//div[@id='center']/div/div/div[3]/table");
+
+ public final String CMS_T_SELECT = getProp(casePfx+"cms.t.select","//div[@id=''center'']/div/div/div[3]/table/tbody/tr[{0}]/td[2]/form/select");
+ public final String CMS_T_SUBMIT = getProp(casePfx+"cms.t.submit","//div[@id=''center'']/div/div/div[3]/table/tbody/tr[{0}]/td[2]/form/input");
+
public final String CMS_WF_TABLE = getProp(casePfx+"cms.wf.table","//div[@id='center']/div/div/table[2]");
public final String CMS_FV_TABLE = getProp(casePfx+"cms.fv.table","//div[@id='center']/div/div/table");
+ public final String CMS_T_VER = getProp(casePfx+"cms.t.ver","//div[@id=''center'']/div/div/table/tbody/tr[{0}]/td[1]/a");
public final String WYSIWYG_EDITOR_LOCATOR = getProp(casePfx+"wysiwyg.editor.locator","mce_editor_0");
-
@BeforeMethod(groups = { "log" })
public void loginBeforeTest() {
@@ -37,50 +60,50 @@
// canceling first
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.select(SELECT_CMS_MAIN, "label=Create File");
+ selenium.select(SELECT_CMS_MAIN, LAB_CREATE_FILE);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.waitForPopUp("_top", PAGE_LOAD);
- selenium.type("filename", "newFile");
- selenium.type("description", "newFile description");
- selenium.type("title", "newFile title");
- selenium.select("language", "label=Czech");
+ selenium.type(INP_FILENAME, "newFile");
+ selenium.type(INP_DESC, "newFile description");
+ selenium.type(INP_TITLE, "newFile title");
+ selenium.select(SEL_LANG, LAB_LANG_CZECH);
- selenium.click("cancel");
+ selenium.click(SUB_FILE_CREATE_CANCEL);
selenium.waitForPageToLoad(PAGE_LOAD);
// saving
selenium.open(ADDR_PORTAL);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.select(SELECT_CMS_MAIN, "label=Create File");
+ selenium.select(SELECT_CMS_MAIN, LAB_CREATE_FILE);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.waitForPopUp("_top", PAGE_LOAD);
- selenium.type("filename", "newFile");
- selenium.type("description", "newFile description");
- selenium.type("title", "newFile title");
- selenium.select("language", "label=Czech");
+ selenium.type(INP_FILENAME, "newFile");
+ selenium.type(INP_DESC, "newFile description");
+ selenium.type(INP_TITLE, "newFile title");
+ selenium.select(SEL_LANG, LAB_LANG_CZECH);
- selenium.click("save");
+ selenium.click(SUB_FILE_CREATE);
selenium.waitForPageToLoad(PAGE_LOAD);
int row = countTableRows(CMS_WF_TABLE) - 1;
Assert.assertEquals(row, 1, "More instances of newly created document exists.");
Assert.assertTrue(selenium.isTextPresent("Pending Approval Queue"));
- Assert.assertTrue(selenium.isElementPresent("link=Preview"));
- Assert.assertTrue(selenium.isElementPresent("link=Approve"));
- Assert.assertTrue(selenium.isElementPresent("link=Deny"));
+ Assert.assertTrue(selenium.isElementPresent(LNK_PREVIEW));
+ Assert.assertTrue(selenium.isElementPresent(LNK_APPROVE));
+ Assert.assertTrue(selenium.isElementPresent(LNK_DENY));
- selenium.click("link=Approve");
+ selenium.click(LNK_APPROVE);
selenium.waitForPageToLoad(PAGE_LOAD);
row = countTableRows(CMS_FV_TABLE) - 1;
@@ -90,29 +113,29 @@
@Test(enabled = true, description = "Simple file creation.")
public void testCreateFileDeny() {
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.select(SELECT_CMS_MAIN, "label=Create File");
+ selenium.select(SELECT_CMS_MAIN, LAB_CREATE_FILE);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.waitForPopUp("_top", PAGE_LOAD);
- selenium.type("filename", "newFileDeny");
- selenium.type("description", "newFileDeny description");
- selenium.type("title", "newFileDeny title");
- selenium.select("language", "label=Czech");
- selenium.click("save");
+ selenium.type(INP_FILENAME, "newFileDeny");
+ selenium.type(INP_DESC, "newFileDeny description");
+ selenium.type(INP_TITLE, "newFileDeny title");
+ selenium.select(SEL_LANG, LAB_LANG_CZECH);
+ selenium.click(SUB_FILE_CREATE);
selenium.waitForPageToLoad(PAGE_LOAD);
int row = countTableRows(CMS_WF_TABLE) - 1;
Assert.assertEquals(row, 1, "More instances of newly created document exists.");
Assert.assertTrue(selenium.isTextPresent("Pending Approval Queue"));
- Assert.assertTrue(selenium.isElementPresent("link=Preview"));
- Assert.assertTrue(selenium.isElementPresent("link=Approve"));
- Assert.assertTrue(selenium.isElementPresent("link=Deny"));
+ Assert.assertTrue(selenium.isElementPresent(LNK_PREVIEW));
+ Assert.assertTrue(selenium.isElementPresent(LNK_APPROVE));
+ Assert.assertTrue(selenium.isElementPresent(LNK_DENY));
- selenium.click("link=Deny");
+ selenium.click(LNK_DENY);
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertFalse(selenium.isTextPresent("newFileDeny"));
@@ -124,24 +147,24 @@
selenium.open(ADDR_PORTAL);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link=Home");
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.select(SELECT_CMS_MAIN, "label=Create File");
+ selenium.select(SELECT_CMS_MAIN, LAB_CREATE_FILE);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.waitForPopUp("_top", PAGE_LOAD);
- selenium.type("filename", name);
- selenium.type("description", name + " description");
- selenium.type("title", "existingFile title");
- selenium.select("language", "label=Czech");
+ selenium.type(INP_FILENAME, name);
+ selenium.type(INP_DESC, name + " description");
+ selenium.type(INP_TITLE, "existingFile title");
+ selenium.select(SEL_LANG, LAB_LANG_CZECH);
fillInEditor("vivat!");
- selenium.click("save");
+ selenium.click(SUB_FILE_CREATE);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Preview");
+ selenium.click(LNK_PREVIEW);
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertTrue(selenium.isTextPresent("Pending Approval Queue"));
@@ -151,36 +174,35 @@
@Test(enabled = true, dependsOnMethods = "testCreateFileApprove", description = "Simple file delete Cancel in first step, and then delete.")
public void testDeleteFile() {
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
int row = findTableRow(CMS_FILE_TABLE, "newFile", 0) + 1;
- selenium.select("//div[@id='center']/div/div/div[3]/table/tbody/tr["+row+"]/td[2]/form/select", "label=Delete");
- selenium.click("//div[@id='center']/div/div/div[3]/table/tbody/tr["+row+"]/td[2]/form/select/option[4]");
- selenium.click("//div[@id='center']/div/div/div[3]/table/tbody/tr["+row+"]/td[2]/form/input");
+ selenium.select(MessageFormat.format(CMS_T_SELECT,row), "label=Delete");
+ selenium.click(MessageFormat.format(CMS_T_SUBMIT,row));
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertTrue(selenium.isTextPresent("Confirm Deletion of /newFile"));
Assert.assertTrue(selenium.isTextPresent("WARNING! You will not be able to undo these change!"));
Assert.assertTrue(selenium.isTextPresent("Are you sure you want to delete this resource?"));
- selenium.click("cancel");
+ selenium.click(SUB_FILE_CREATE_CANCEL);
selenium.waitForPageToLoad(PAGE_LOAD);
row = findTableRow(CMS_FILE_TABLE, "newFile", 0) + 1;
- selenium.select(CMS_FILE_TABLE + "/tbody/tr["+row+"]/td[2]/form/select", "label=Delete");
- selenium.click(CMS_FILE_TABLE + "/tbody/tr["+row+"]/td[2]/form/select/option[4]");
- selenium.click(CMS_FILE_TABLE + "/tbody/tr["+row+"]/td[2]/form/input");
+ selenium.select(MessageFormat.format(CMS_T_SELECT,row), "label=Delete");
+ selenium.click(MessageFormat.format(CMS_T_SUBMIT,row));
+
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertTrue(selenium.isTextPresent("Confirm Deletion of /newFile"));
Assert.assertTrue(selenium.isTextPresent("WARNING! You will not be able to undo these change!"));
Assert.assertTrue(selenium.isTextPresent("Are you sure you want to delete this resource?"));
- selenium.click("submit");
+ selenium.click(SUB_MOVE);
selenium.waitForPageToLoad(PAGE_LOAD);
}
@@ -190,18 +212,17 @@
//canceling first
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
int row = findTableRow(CMS_FILE_TABLE, "fileToMove", 0) + 1;
-
- selenium.select(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/select", "label=Move");
- selenium.click(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/select/option[3]");
- selenium.click(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/input");
+ ;
+ selenium.select(MessageFormat.format(CMS_T_SELECT,row), "label=Move");
+ selenium.click(MessageFormat.format(CMS_T_SUBMIT,row));
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link=default");
- selenium.click("cancel");
+ selenium.click(SUB_FILE_CREATE_CANCEL);
selenium.waitForPageToLoad(PAGE_LOAD);
// assuming file is not moved
@@ -219,18 +240,17 @@
// really moving file
selenium.open(ADDR_PORTAL);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
row = findTableRow(CMS_FILE_TABLE, "fileToMove", 0) + 1;
- selenium.select(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/select", "label=Move");
- selenium.click(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/select/option[3]");
- selenium.click(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/input");
+ selenium.select(MessageFormat.format(CMS_T_SELECT,row), "label=Move");
+ selenium.click(MessageFormat.format(CMS_T_SUBMIT,row));
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link=default");
- selenium.click("submit");
+ selenium.click(SUB_MOVE);
selenium.waitForPageToLoad(PAGE_LOAD);
// assuming file is moved
@@ -249,18 +269,17 @@
@Test(enabled = true, dependsOnMethods = "testCreateFileApprove", description = "File creation and copying to default directory.")
public void testCopyFile() {
createFile("file2copy","");
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
int row = findTableRow(CMS_FILE_TABLE, "file2copy", 0) + 1;
- selenium.select(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/select", "label=Copy");
- selenium.click(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/select/option[3]");
- selenium.click(CMS_FILE_TABLE + "/tbody/tr[" + row + "]/td[2]/form/input");
+ selenium.select(MessageFormat.format(CMS_T_SELECT,row), "label=Copy");
+ selenium.click(MessageFormat.format(CMS_T_SUBMIT,row));
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link=default");
- selenium.click("submit");
+ selenium.click(SUB_MOVE);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link=default");
selenium.waitForPageToLoad(PAGE_LOAD);
@@ -283,27 +302,27 @@
// canceling for the first time
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link="+file);
selenium.waitForPageToLoad(PAGE_LOAD);
row = findTableRow(CMS_FV_TABLE, "1.1", 2) + 1;
- selenium.click(CMS_FV_TABLE + "/tbody/tr["+row+"]/td[1]/a");
+ selenium.click(MessageFormat.format(CMS_T_VER, row));
selenium.waitForPageToLoad(PAGE_LOAD);
fillInEditor("contentstring2");
- selenium.click("cancel");
+ selenium.click(SUB_FILE_CREATE_CANCEL);
selenium.waitForPageToLoad(PAGE_LOAD);
// really creating and approving
selenium.open(ADDR_PORTAL);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link=Home");
selenium.waitForPageToLoad(PAGE_LOAD);
@@ -312,29 +331,29 @@
selenium.waitForPageToLoad(PAGE_LOAD);
row = findTableRow(CMS_FV_TABLE, "1.1", 2) + 1;
- selenium.click(CMS_FV_TABLE + "/tbody/tr["+row+"]/td[1]/a");
+ selenium.click(MessageFormat.format(CMS_T_VER, row));
selenium.waitForPageToLoad(PAGE_LOAD);
fillInEditor("contentstring2");
- selenium.click("save");
+ selenium.click(SUB_FILE_CREATE);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Approve");
+ selenium.click(LNK_APPROVE);
selenium.waitForPageToLoad(PAGE_LOAD);
row = findTableRow(CMS_FV_TABLE, "1.3", 2) + 1;
- selenium.click(CMS_FV_TABLE + "/tbody/tr["+row+"]/td[1]/a");
+ selenium.click(MessageFormat.format(CMS_T_VER, row));
selenium.waitForPageToLoad(PAGE_LOAD);
fillInEditor("contentstring3");
- selenium.click("save");
+ selenium.click(SUB_FILE_CREATE);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Deny");
+ selenium.click(LNK_DENY);
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertFalse(selenium.isTextPresent("1.5"));
row = findTableRow(CMS_FV_TABLE, "1.3", 2) + 1;
- selenium.click(CMS_FV_TABLE + "/tbody/tr["+row+"]/td[1]/a");
+ selenium.click(MessageFormat.format(CMS_T_VER, row));
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertTrue(selenium.isTextPresent("contentstring2"));
@@ -346,24 +365,24 @@
// save and approve
selenium.open(ADDR_PORTAL);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Admin");
+ selenium.click(LNK_ADMIN);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=CMS");
+ selenium.click(LNK_CMS);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link=Home");
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.select(SELECT_CMS_MAIN, "label=Create File");
+ selenium.select(SELECT_CMS_MAIN, LAB_CREATE_FILE);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.waitForPopUp("_top", PAGE_LOAD);
- selenium.type("filename", name);
- selenium.type("description", name + " description");
- selenium.type("title", "existingFile title");
- selenium.select("language", "label=Czech");
+ selenium.type(INP_FILENAME, name);
+ selenium.type(INP_DESC, name + " description");
+ selenium.type(INP_TITLE, "existingFile title");
+ selenium.select(SEL_LANG, LAB_LANG_CZECH);
- selenium.click("save");
+ selenium.click(SUB_FILE_CREATE);
selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Approve");
+ selenium.click(LNK_APPROVE);
selenium.waitForPageToLoad(PAGE_LOAD);
selenium.click("link=Home");
selenium.waitForPageToLoad(PAGE_LOAD);
Modified: branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/locator.properties
===================================================================
--- branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/locator.properties 2009-03-04 12:25:26 UTC (rev 12938)
+++ branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/locator.properties 2009-03-04 12:54:06 UTC (rev 12939)
@@ -173,10 +173,26 @@
# CMSFileWorkflowTestCase
+cms.file.work.lab.lang.czech=label=Czech
+cms.file.work.lnk.deny=link=Deny
+cms.file.work.lnk.preview=link=Preview
+cms.file.work.lnk.approve=link=Approve
+cms.file.work.sub.file.create=save
+cms.file.work.sub.file.create.cancel=cancel
+cms.file.work.sel.lang=language
+cms.file.work.inp.title=title
+cms.file.work.inp.desc=description
+cms.file.work.inp.filename=filename
+cms.file.work.lab.create.file=label=Create File
+cms.file.work.lnk.cms=link=CMS
+cms.file.work.lnk.admin=link=Admin
cms.file.work.select.cms.main=//div[@id='center']/div/div/div[1]/div/select
cms.file.work.cms.file.table=//div[@id='center']/div/div/div[3]/table
+cms.file.work.cms.t.select=//div[@id=''center'']/div/div/div[3]/table/tbody/tr[{0}]/td[2]/form/select
+cms.file.work.cms.t.submit=//div[@id=''center'']/div/div/div[3]/table/tbody/tr[{0}]/td[2]/form/input
cms.file.work.cms.wf.table=//div[@id='center']/div/div/table[2]
cms.file.work.cms.fv.table=//div[@id='center']/div/div/table
+cms.file.work.cms.t.ver=//div[@id=''center'']/div/div/table/tbody/tr[{0}]/td[1]/a
cms.file.work.wysiwyg.editor.locator=mce_editor_0
# CMSSecureTestCase
More information about the portal-commits
mailing list