public void testRateDLFolderDocumentAP() throws Exception {
    selenium.open("/web/guest/home/");
    loadRequiredJavaScriptModules();

    for (int second = 0; ; second++) {
      if (second >= 90) {
        fail("timeout");
      }

      try {
        if (selenium.isVisible("link=Asset Publisher Test Page")) {
          break;
        }
      } catch (Exception e) {
      }

      Thread.sleep(1000);
    }

    selenium.clickAt(
        "link=Asset Publisher Test Page", RuntimeVariables.replace("Asset Publisher Test Page"));
    selenium.waitForPageToLoad("30000");
    loadRequiredJavaScriptModules();

    String voteCount =
        selenium.getFirstNumberIncrement("xPath=(//div[@class='aui-rating-label-element'])[2]");
    RuntimeVariables.setValue("voteCount", voteCount);
    selenium.clickAt(
        "//a[contains(@title,'Rate this 5 stars out of 5.')]", RuntimeVariables.replace("5 Stars"));

    for (int second = 0; ; second++) {
      if (second >= 90) {
        fail("timeout");
      }

      try {
        if (selenium.isPartialText(
            "xPath=(//div[@class='aui-rating-label-element'])[2]",
            RuntimeVariables.getValue("voteCount"))) {
          break;
        }
      } catch (Exception e) {
      }

      Thread.sleep(1000);
    }

    assertTrue(
        selenium.isPartialText(
            "xPath=(//div[@class='aui-rating-label-element'])[2]",
            RuntimeVariables.getValue("voteCount")));
  }
  public void testAdvancedSearchWCWebContentID() throws Exception {
    int label = 1;

    while (label >= 1) {
      switch (label) {
        case 1:
          selenium.selectWindow("null");
          selenium.selectFrame("relative=top");
          selenium.open("/web/guest/home/");
          assertEquals(
              RuntimeVariables.replace("Go to"),
              selenium.getText("//li[@id='_145_mySites']/a/span"));
          selenium.mouseOver("//li[@id='_145_mySites']/a/span");
          selenium.waitForVisible("link=Control Panel");
          selenium.clickAt("link=Control Panel", RuntimeVariables.replace("Control Panel"));
          selenium.waitForPageToLoad("30000");
          selenium.clickAt("link=Web Content", RuntimeVariables.replace("Web Content"));
          selenium.waitForPageToLoad("30000");

          String webContentID = selenium.getText("//td[2]/a");
          RuntimeVariables.setValue("webContentID", webContentID);

          boolean advancedVisible = selenium.isVisible("link=Advanced \u00bb");

          if (!advancedVisible) {
            label = 2;

            continue;
          }

          selenium.clickAt("link=Advanced \u00bb", RuntimeVariables.replace("Advanced \u00bb"));

        case 2:
          selenium.waitForVisible("//input[@id='_15_searchArticleId']");
          selenium.type(
              "//input[@id='_15_searchArticleId']",
              RuntimeVariables.replace(RuntimeVariables.getValue("webContentID")));
          selenium.clickAt("//div[2]/span[2]/span/input", RuntimeVariables.replace("Search"));
          selenium.waitForPageToLoad("30000");
          selenium.type("//input[@id='_15_searchArticleId']", RuntimeVariables.replace(""));
          assertEquals(
              RuntimeVariables.replace("WC WebContent Title"), selenium.getText("//td[3]/a"));
          selenium.type("//input[@id='_15_searchArticleId']", RuntimeVariables.replace("11111"));
          selenium.clickAt("//div[2]/span[2]/span/input", RuntimeVariables.replace("Search"));
          selenium.waitForPageToLoad("30000");
          selenium.type("//input[@id='_15_searchArticleId']", RuntimeVariables.replace(""));
          assertFalse(selenium.isTextPresent("WC WebContent Title"));
          selenium.clickAt("link=\u00ab Basic", RuntimeVariables.replace("\u00ab Basic"));

        case 100:
          label = -1;
      }
    }
  }
  public void testViewBlogsEntryViewCountAP() throws Exception {
    selenium.selectWindow("null");
    selenium.selectFrame("relative=top");
    selenium.open("/web/guest/home/");
    selenium.clickAt(
        "link=Asset Publisher Test Page", RuntimeVariables.replace("Asset Publisher Test Page"));
    selenium.waitForPageToLoad("30000");

    String viewCount1 =
        selenium.getFirstNumberIncrement("//span[@class='metadata-entry metadata-view-count']");
    RuntimeVariables.setValue("viewCount1", viewCount1);
    selenium.open("/web/guest/home/");
    selenium.clickAt(
        "link=Asset Publisher Test Page", RuntimeVariables.replace("Asset Publisher Test Page"));
    selenium.waitForPageToLoad("30000");
    assertTrue(
        selenium.isPartialText(
            "//span[@class='metadata-entry metadata-view-count']",
            RuntimeVariables.getValue("viewCount1")));

    String viewCount2 =
        selenium.getFirstNumberIncrement("//span[@class='metadata-entry metadata-view-count']");
    RuntimeVariables.setValue("viewCount2", viewCount2);
    selenium.open("/web/guest/home/");
    selenium.clickAt("link=Blogs Test Page", RuntimeVariables.replace("Blogs Test Page"));
    selenium.waitForPageToLoad("30000");
    assertEquals(
        RuntimeVariables.replace("Blogs Entry Title"),
        selenium.getText("//div[@class='entry-title']/h2/a"));
    assertEquals(
        RuntimeVariables.replace("Blogs Entry Content"),
        selenium.getText("//div[@class='entry-body']/p"));
    selenium.clickAt(
        "//div[@class='entry-title']/h2/a", RuntimeVariables.replace("Blogs Entry Title"));
    selenium.waitForPageToLoad("30000");
    assertTrue(
        selenium.isPartialText(
            "//span[@class='view-count']", RuntimeVariables.getValue("viewCount2")));
  }
Пример #4
0
  public void testTearDownPage() throws Exception {
    int label = 1;

    while (label >= 1) {
      switch (label) {
        case 1:
          selenium.open("/web/guest/home/");

          for (int second = 0; ; second++) {
            if (second >= 60) {
              fail("timeout");
            }

            try {
              if (selenium.isElementPresent("link=Control Panel")) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();

          String guestCommunity = selenium.getText("//nav[@id='breadcrumbs']/ul/li[1]/span/a");
          RuntimeVariables.setValue("guestCommunity", guestCommunity);
          selenium.clickAt("link=Control Panel", RuntimeVariables.replace("Control Panel"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.clickAt("link=Pages", RuntimeVariables.replace("Pages"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();

          for (int second = 0; ; second++) {
            if (second >= 60) {
              fail("timeout");
            }

            try {
              if (selenium.isPartialText(
                  "//div/div[3]/a", RuntimeVariables.getValue("guestCommunity"))) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();

          boolean welcomePresent = selenium.isElementPresent("//li/ul/li[1]/div/div[3]/a");

          if (welcomePresent) {
            label = 2;

            continue;
          }

          selenium.clickAt(
              "//div[3]/ul/li/div/div[1]", RuntimeVariables.replace("Drop Down Arrow"));

        case 2:
          for (int second = 0; ; second++) {
            if (second >= 60) {
              fail("timeout");
            }

            try {
              if (RuntimeVariables.replace("Welcome")
                  .equals(selenium.getText("//li/ul/li[1]/div/div[3]/a"))) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();

          boolean page1Present = selenium.isElementPresent("//li[2]/div/div[3]/a");

          if (!page1Present) {
            label = 3;

            continue;
          }

          selenium.clickAt("//li[2]/div/div[3]/a", RuntimeVariables.replace("Page Name"));

          for (int second = 0; ; second++) {
            if (second >= 60) {
              fail("timeout");
            }

            try {
              if (RuntimeVariables.replace("Delete").equals(selenium.getText("//button[3]"))) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();
          assertEquals(RuntimeVariables.replace("Delete"), selenium.getText("//button[3]"));
          selenium.click(RuntimeVariables.replace("//button[3]"));
          selenium.waitForPageToLoad("30000");
          assertTrue(
              selenium
                  .getConfirmation()
                  .matches("^Are you sure you want to delete the selected page[\\s\\S]$"));
          selenium.saveScreenShotAndSource();

        case 3:
          boolean page2Present = selenium.isElementPresent("//li[2]/div/div[3]/a");

          if (!page2Present) {
            label = 4;

            continue;
          }

          selenium.clickAt("//li[2]/div/div[3]/a", RuntimeVariables.replace("Page Name"));

          for (int second = 0; ; second++) {
            if (second >= 60) {
              fail("timeout");
            }

            try {
              if (RuntimeVariables.replace("Delete").equals(selenium.getText("//button[3]"))) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();
          assertEquals(RuntimeVariables.replace("Delete"), selenium.getText("//button[3]"));
          selenium.click(RuntimeVariables.replace("//button[3]"));
          selenium.waitForPageToLoad("30000");
          assertTrue(
              selenium
                  .getConfirmation()
                  .matches("^Are you sure you want to delete the selected page[\\s\\S]$"));
          selenium.saveScreenShotAndSource();

        case 4:
          boolean page3Present = selenium.isElementPresent("//li[2]/div/div[3]/a");

          if (!page3Present) {
            label = 5;

            continue;
          }

          selenium.clickAt("//li[2]/div/div[3]/a", RuntimeVariables.replace("Page Name"));

          for (int second = 0; ; second++) {
            if (second >= 60) {
              fail("timeout");
            }

            try {
              if (RuntimeVariables.replace("Delete").equals(selenium.getText("//button[3]"))) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();
          assertEquals(RuntimeVariables.replace("Delete"), selenium.getText("//button[3]"));
          selenium.click(RuntimeVariables.replace("//button[3]"));
          selenium.waitForPageToLoad("30000");
          assertTrue(
              selenium
                  .getConfirmation()
                  .matches("^Are you sure you want to delete the selected page[\\s\\S]$"));
          selenium.saveScreenShotAndSource();

        case 5:
          boolean page4Present = selenium.isElementPresent("//li[2]/div/div[3]/a");

          if (!page4Present) {
            label = 6;

            continue;
          }

          selenium.clickAt("//li[2]/div/div[3]/a", RuntimeVariables.replace("Page Name"));

          for (int second = 0; ; second++) {
            if (second >= 60) {
              fail("timeout");
            }

            try {
              if (RuntimeVariables.replace("Delete").equals(selenium.getText("//button[3]"))) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();
          assertEquals(RuntimeVariables.replace("Delete"), selenium.getText("//button[3]"));
          selenium.click(RuntimeVariables.replace("//button[3]"));
          selenium.waitForPageToLoad("30000");
          assertTrue(
              selenium
                  .getConfirmation()
                  .matches("^Are you sure you want to delete the selected page[\\s\\S]$"));
          selenium.saveScreenShotAndSource();

        case 6:
          boolean page5Present = selenium.isElementPresent("//li[2]/div/div[3]/a");

          if (!page5Present) {
            label = 7;

            continue;
          }

          selenium.clickAt("//li[2]/div/div[3]/a", RuntimeVariables.replace("Page Name"));

          for (int second = 0; ; second++) {
            if (second >= 60) {
              fail("timeout");
            }

            try {
              if (RuntimeVariables.replace("Delete").equals(selenium.getText("//button[3]"))) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();
          assertEquals(RuntimeVariables.replace("Delete"), selenium.getText("//button[3]"));
          selenium.click(RuntimeVariables.replace("//button[3]"));
          selenium.waitForPageToLoad("30000");
          assertTrue(
              selenium
                  .getConfirmation()
                  .matches("^Are you sure you want to delete the selected page[\\s\\S]$"));
          selenium.saveScreenShotAndSource();

        case 7:
        case 100:
          label = -1;
      }
    }
  }
  public void testAddConsumerHW() throws Exception {
    selenium.open("/web/guest/home/");

    for (int second = 0; ; second++) {
      if (second >= 90) {
        fail("timeout");
      }

      try {
        if (selenium.isElementPresent("link=Control Panel")) {
          break;
        }
      } catch (Exception e) {
      }

      Thread.sleep(1000);
    }

    selenium.clickAt("link=Control Panel", RuntimeVariables.replace(""));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("link=WSRP", RuntimeVariables.replace(""));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("link=Producers", RuntimeVariables.replace(""));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("//td[1]/a", RuntimeVariables.replace("Hello World Producer Name"));
    selenium.waitForPageToLoad("30000");

    String wsrpUrl = selenium.getText("//td[2]/a");
    RuntimeVariables.setValue("wsrpUrl", wsrpUrl);
    selenium.open("/web/guest/home/");

    for (int second = 0; ; second++) {
      if (second >= 90) {
        fail("timeout");
      }

      try {
        if (selenium.isElementPresent("link=Control Panel")) {
          break;
        }
      } catch (Exception e) {
      }

      Thread.sleep(1000);
    }

    selenium.clickAt("link=Control Panel", RuntimeVariables.replace(""));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("link=WSRP", RuntimeVariables.replace(""));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("link=Consumers", RuntimeVariables.replace(""));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("//input[@value='Add Consumer']", RuntimeVariables.replace(""));
    selenium.waitForPageToLoad("30000");
    selenium.type("_1_WAR_wsrpportlet_name", RuntimeVariables.replace("Hello World Consumer Name"));
    selenium.type(
        "_1_WAR_wsrpportlet_url", RuntimeVariables.replace(RuntimeVariables.getValue("wsrpUrl")));
    selenium.clickAt("//input[@value='Save']", RuntimeVariables.replace(""));
    selenium.waitForPageToLoad("30000");
    assertEquals(
        RuntimeVariables.replace("Your request completed successfully."),
        selenium.getText("//section/div/div/div/div[1]"));
    assertEquals(
        RuntimeVariables.replace("Hello World Consumer Name"), selenium.getText("//td[1]/a"));
  }
  public void testViewWCJournalFeedURL() throws Exception {
    selenium.open("/web/guest/home/");

    for (int second = 0; ; second++) {
      if (second >= 90) {
        fail("timeout");
      }

      try {
        if (selenium.isElementPresent("link=Control Panel")) {
          break;
        }
      } catch (Exception e) {
      }

      Thread.sleep(1000);
    }

    selenium.clickAt("link=Control Panel", RuntimeVariables.replace("Control Panel"));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("link=Communities", RuntimeVariables.replace("Communities"));
    selenium.waitForPageToLoad("30000");
    selenium.type(
        "//input[@id='_134_name']", RuntimeVariables.replace("WC Journal Feed Community"));
    selenium.clickAt("//input[@value='Search']", RuntimeVariables.replace("Search"));
    selenium.waitForPageToLoad("30000");
    assertEquals(RuntimeVariables.replace("Open"), selenium.getText("//td[2]/a"));
    selenium.clickAt("//td[2]/a", RuntimeVariables.replace("Open"));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("link=Control Panel", RuntimeVariables.replace("Control Panel"));
    selenium.waitForPageToLoad("30000");
    assertEquals(
        RuntimeVariables.replace("WC Journal Feed Community"),
        selenium.getText("//div[1]/div/span/a"));
    selenium.clickAt("link=Web Content", RuntimeVariables.replace("Web Content"));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("link=Feeds", RuntimeVariables.replace("Feeds"));
    selenium.waitForPageToLoad("30000");
    assertEquals(RuntimeVariables.replace("Actions"), selenium.getText("//td[4]/ul/li/strong/a"));
    selenium.clickAt("//td[4]/ul/li/strong/a", RuntimeVariables.replace("Actions"));

    for (int second = 0; ; second++) {
      if (second >= 90) {
        fail("timeout");
      }

      try {
        if (selenium.isVisible("//div[@class='lfr-component lfr-menu-list']/ul/li[1]/a")) {
          break;
        }
      } catch (Exception e) {
      }

      Thread.sleep(1000);
    }

    assertEquals(
        RuntimeVariables.replace("Edit"),
        selenium.getText("//div[@class='lfr-component lfr-menu-list']/ul/li[1]/a"));
    selenium.click(
        RuntimeVariables.replace("//div[@class='lfr-component lfr-menu-list']/ul/li[1]/a"));
    selenium.waitForPageToLoad("30000");
    assertEquals(RuntimeVariables.replace("Feed Name"), selenium.getText("//div[1]/h1/span"));

    String URL = selenium.getValue("//div/input");
    RuntimeVariables.setValue("URL", URL);
    selenium.open(RuntimeVariables.getValue("URL"));
    assertEquals(RuntimeVariables.replace("Feed Name"), selenium.getText("//x:h1"));
    assertEquals(RuntimeVariables.replace("Feed Description"), selenium.getText("//x:h2"));
    assertEquals(RuntimeVariables.replace("Web Content Name"), selenium.getText("//x:h3/x:a"));
    assertEquals(
        RuntimeVariables.replace("Web Content Content"),
        selenium.getText("//x:div[2]/x:div[1]/x:div/x:p"));
  }
  public void testViewWCWebContent() throws Exception {
    selenium.selectWindow("null");
    selenium.selectFrame("relative=top");
    selenium.open("/web/guest/home/");
    assertEquals(
        RuntimeVariables.replace("Go to"), selenium.getText("//li[@id='_145_mySites']/a/span"));
    selenium.mouseOver("//li[@id='_145_mySites']/a/span");
    selenium.waitForVisible("link=Control Panel");
    selenium.clickAt("link=Control Panel", RuntimeVariables.replace("Control Panel"));
    selenium.waitForPageToLoad("30000");
    selenium.clickAt("link=Web Content", RuntimeVariables.replace("Web Content"));
    selenium.waitForPageToLoad("30000");

    String webcontentID = selenium.getText("//td[2]/a");
    RuntimeVariables.setValue("webcontentID", webcontentID);
    assertEquals(RuntimeVariables.replace("${webcontentID}"), selenium.getText("//td[2]/a"));
    assertEquals(RuntimeVariables.replace("WC WebContent Title"), selenium.getText("//td[3]/a"));
    assertEquals(RuntimeVariables.replace("Approved"), selenium.getText("//td[4]/a"));
    assertTrue(selenium.isVisible("//td[5]/a"));
    assertTrue(selenium.isVisible("//td[6]/a"));
    assertEquals(RuntimeVariables.replace("Joe Bloggs"), selenium.getText("//td[7]/a"));
    assertEquals(
        RuntimeVariables.replace("Actions"), selenium.getText("//td[8]/span/ul/li/strong/a/span"));
    selenium.clickAt("//td[8]/span/ul/li/strong/a/span", RuntimeVariables.replace("Actions"));
    selenium.waitForVisible("//a[contains(@id,'SearchContainer_1_menu_edit')]");
    assertEquals(
        RuntimeVariables.replace("Edit"),
        selenium.getText("//a[contains(@id,'SearchContainer_1_menu_edit')]"));
    assertEquals(
        RuntimeVariables.replace("Permissions"),
        selenium.getText("//a[contains(@id,'SearchContainer_1_menu_permissions')]"));
    assertEquals(
        RuntimeVariables.replace("View (Opens New Window)"),
        selenium.getText("//a[contains(@id,'SearchContainer_1_menu_view')]"));
    assertEquals(
        RuntimeVariables.replace("Copy"),
        selenium.getText("//a[contains(@id,'SearchContainer_1_menu_copy')]"));
    assertEquals(
        RuntimeVariables.replace("Expire"),
        selenium.getText("//a[contains(@id,'SearchContainer_1_menu_expire')]"));
    assertEquals(
        RuntimeVariables.replace("Delete"),
        selenium.getText("//a[contains(@id,'SearchContainer_1_menu_delete')]"));
    selenium.clickAt("//td[2]/a", RuntimeVariables.replace("WC WebContent ID"));
    selenium.waitForPageToLoad("30000");
    assertEquals(
        RuntimeVariables.replace("Web Content"),
        selenium.getText("//span[@class='portlet-title-text']"));
    assertEquals(
        RuntimeVariables.replace(
            "Web Content can be any content you would like to add to a site, such as articles, a FAQ, or a news item. Administrators can manage content, as well as assign user roles and permissions. Users may add, edit, approve, or view content depending on their role. Or disable for all portlets."),
        selenium.getText("//div[@id='cpContextPanelTemplate']"));
    assertEquals(
        RuntimeVariables.replace("WC WebContent Title"),
        selenium.getText("//h1[@class='header-title']/span"));
    assertTrue(
        selenium.isPartialText(
            "//span[@class='workflow-id']", RuntimeVariables.getValue("webcontentID")));
    assertEquals(
        RuntimeVariables.replace("Version: 1.0"),
        selenium.getText("//span[@class='workflow-version']"));
    assertEquals(
        RuntimeVariables.replace("Status: Approved"),
        selenium.getText("//span[@class='workflow-status']"));
    assertEquals(
        RuntimeVariables.replace("Permissions"), selenium.getText("//button[.='Permissions']"));
    assertEquals(
        RuntimeVariables.replace("View History"), selenium.getText("//button[.='View History']"));
    assertEquals(
        RuntimeVariables.replace("Default"),
        selenium.getText("//span[@id='_15_structureNameLabel']"));
    assertEquals(
        RuntimeVariables.replace("None"), selenium.getText("//span[@class='template-name-label']"));
    assertEquals(
        RuntimeVariables.replace("English (United States)"),
        selenium.getText("//span[@id='_15_textLanguageId']"));
    assertEquals("WC WebContent Title", selenium.getValue("//input[@id='_15_title_en_US']"));
    selenium.waitForElementPresent(
        "//textarea[@id='_15__15_structure_el_TextAreaField_content' and @style='display: none;']");
    selenium.waitForVisible(
        "//td[@id='cke_contents__15__15_structure_el_TextAreaField_content']/iframe");
    selenium.selectFrame(
        "//td[@id='cke_contents__15__15_structure_el_TextAreaField_content']/iframe");
    selenium.waitForText("//body", "WC WebContent Content");
    assertEquals(RuntimeVariables.replace("WC WebContent Content"), selenium.getText("//body"));
    selenium.selectFrame("relative=top");
    assertTrue(selenium.isChecked("//input[@id='_15_indexableCheckbox']"));
    assertEquals(
        RuntimeVariables.replace("WC WebContent Title"),
        selenium.getText("//span[@class='article-name']"));
    assertEquals(
        RuntimeVariables.replace("Content (Modified)"),
        selenium.getText("//a[@id='_15_contentLink']"));
    assertEquals(
        RuntimeVariables.replace("Abstract (Modified)"),
        selenium.getText("//a[@id='_15_abstractLink']"));
    assertEquals(
        RuntimeVariables.replace("Categorization (Modified)"),
        selenium.getText("//a[@id='_15_categorizationLink']"));
    assertEquals(
        RuntimeVariables.replace("Schedule (Modified)"),
        selenium.getText("//a[@id='_15_scheduleLink']"));
    assertEquals(
        RuntimeVariables.replace("Display Page (Modified)"),
        selenium.getText("//a[@id='_15_displayPageLink']"));
    assertEquals(
        RuntimeVariables.replace("Related Assets (Modified)"),
        selenium.getText("//a[@id='_15_relatedAssetsLink']"));
    assertEquals(
        RuntimeVariables.replace("Custom Fields (Modified)"),
        selenium.getText("//a[@id='_15_customFieldsLink']"));
    assertEquals(
        RuntimeVariables.replace(
            "A new version will be created automatically if this content is modified."),
        selenium.getText("//div[@class='portlet-msg-info']"));
    assertEquals("Save as Draft", selenium.getValue("//input[@value='Save as Draft']"));
    assertEquals("Publish", selenium.getValue("//input[@value='Publish']"));
    assertEquals("Cancel", selenium.getValue("//input[@value='Cancel']"));
  }