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 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 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")));
  }
  public void testTearDownPage() throws Exception {
    int label = 1;

    while (label >= 1) {
      switch (label) {
        case 1:
          selenium.open("/web/guest/home/");
          selenium.clickAt("main-content", RuntimeVariables.replace(""));
          selenium.clickAt("navigation", RuntimeVariables.replace(""));
          selenium.clickAt("dockbar", RuntimeVariables.replace(""));

          String guestCommunityName = selenium.getText("//nav[@id='breadcrumbs']/ul/li/span/a");
          RuntimeVariables.setValue("guestCommunityName", guestCommunityName);

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

            try {
              if (selenium.isElementPresent("//div/div[3]/div/ul/li[1]/a")) {
                break;
              }
            } catch (Exception e) {
            }

            Thread.sleep(1000);
          }

          selenium.saveScreenShotAndSource();
          selenium.clickAt("//div/div[3]/div/ul/li[1]/a", RuntimeVariables.replace("Manage Pages"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.clickAt("main-content", RuntimeVariables.replace(""));
          selenium.clickAt("navigation", RuntimeVariables.replace(""));
          selenium.clickAt("dockbar", RuntimeVariables.replace(""));

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

            try {
              if (RuntimeVariables.replace("${guestCommunityName}")
                  .equals(selenium.getText("//div/div[3]/a"))) {
                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[2]/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.click(RuntimeVariables.replace("//li[2]/div/div[3]/a"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.clickAt("//td[2]/ul/li[1]/span/span/a", RuntimeVariables.replace("Page"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.click(RuntimeVariables.replace("//input[@value='Delete']"));
          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.click(RuntimeVariables.replace("//li[2]/div/div[3]/a"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.clickAt("//td[2]/ul/li[1]/span/span/a", RuntimeVariables.replace("Page"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.click(RuntimeVariables.replace("//input[@value='Delete']"));
          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.click(RuntimeVariables.replace("//li[2]/div/div[3]/a"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.clickAt("//td[2]/ul/li[1]/span/span/a", RuntimeVariables.replace("Page"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.click(RuntimeVariables.replace("//input[@value='Delete']"));
          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.click(RuntimeVariables.replace("//li[2]/div/div[3]/a"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.clickAt("//td[2]/ul/li[1]/span/span/a", RuntimeVariables.replace("Page"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.click(RuntimeVariables.replace("//input[@value='Delete']"));
          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.click(RuntimeVariables.replace("//li[2]/div/div[3]/a"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.clickAt("//td[2]/ul/li[1]/span/span/a", RuntimeVariables.replace("Page"));
          selenium.waitForPageToLoad("30000");
          selenium.saveScreenShotAndSource();
          selenium.click(RuntimeVariables.replace("//input[@value='Delete']"));
          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']"));
  }
  public void testExpireWCWebContentActions() 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");
    selenium.waitForVisible("//button[contains(@title,'List View')]");
    selenium.clickAt(
        "//button[contains(@title,'List View')]", RuntimeVariables.replace("List View"));
    selenium.waitForVisible(
        "//tr[contains(.,'WC WebContent Title')]/td[1]/input[@type='checkbox']");

    String webContentID = selenium.getText("//tr[contains(.,'WC WebContent Title')]/td[2]");
    RuntimeVariables.setValue("webContentID", webContentID);
    assertEquals(
        RuntimeVariables.replace("${webContentID}"),
        selenium.getText("//tr[contains(.,'WC WebContent Title')]/td[2]"));
    assertEquals(
        RuntimeVariables.replace("WC WebContent Title"),
        selenium.getText("//tr[contains(.,'WC WebContent Title')]/td[3]/span/a"));
    assertEquals(
        RuntimeVariables.replace("Approved"),
        selenium.getText("//tr[contains(.,'WC WebContent Title')]/td[4]"));
    assertTrue(selenium.isVisible("//tr[contains(.,'WC WebContent Title')]/td[5]"));
    assertTrue(selenium.isVisible("//tr[contains(.,'WC WebContent Title')]/td[6]"));
    assertEquals(
        RuntimeVariables.replace("Joe Bloggs"),
        selenium.getText("//tr[contains(.,'WC WebContent Title')]/td[7]"));
    assertTrue(
        selenium.isVisible(
            "//tr[contains(.,'WC WebContent Title')]/td[8]/span/span/ul/li/strong/a"));
    selenium.clickAt(
        "//tr[contains(.,'WC WebContent Title')]/td[8]/span/span/ul/li/strong/a",
        RuntimeVariables.replace("Menu Button"));
    selenium.waitForVisible(
        "//div[@class='lfr-component lfr-menu-list']/ul/li/a[contains(.,'Expire')]");
    assertEquals(
        RuntimeVariables.replace("Expire"),
        selenium.getText(
            "//div[@class='lfr-component lfr-menu-list']/ul/li/a[contains(.,'Expire')]"));
    selenium.click(
        RuntimeVariables.replace(
            "//div[@class='lfr-component lfr-menu-list']/ul/li/a[contains(.,'Expire')]"));
    selenium.waitForPageToLoad("30000");
    assertEquals(
        RuntimeVariables.replace("Your request completed successfully."),
        selenium.getText("//div[@class='portlet-msg-success']"));
    assertTrue(selenium.isVisible("//tr[contains(.,'WC WebContent Title')]/td[1]"));
    assertEquals(
        RuntimeVariables.replace("${webContentID}"),
        selenium.getText("//tr[contains(.,'WC WebContent Title')]/td[2]"));
    assertEquals(
        RuntimeVariables.replace("WC WebContent Title"),
        selenium.getText("//tr[contains(.,'WC WebContent Title')]/td/span/a"));
    assertEquals(
        RuntimeVariables.replace("Expired"),
        selenium.getText("//tr[contains(.,'WC WebContent Title')]/td[4]"));
    assertTrue(selenium.isVisible("//tr[contains(.,'WC WebContent Title')]/td[5]"));
    assertTrue(selenium.isVisible("//tr[contains(.,'WC WebContent Title')]/td[6]"));
    assertEquals(
        RuntimeVariables.replace("Joe Bloggs"),
        selenium.getText("//tr[contains(.,'WC WebContent Title')]/td[7]"));
  }
  public void testViewExpireWCWebContentActions() throws Exception {
    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");

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

      try {
        if (selenium.isVisible("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=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("Expired"), 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"));
    selenium.clickAt("//td[3]/a", RuntimeVariables.replace("WC WebContent Title"));
    selenium.waitForPageToLoad("30000");
    assertEquals(
        RuntimeVariables.replace("Version: 1.0"),
        selenium.getText("//span[@class='workflow-version']"));
    assertEquals(
        RuntimeVariables.replace("Status: Expired"),
        selenium.getText("//span[@class='workflow-status']"));
    assertEquals(
        RuntimeVariables.replace("View History"),
        selenium.getText("//div[@id='_15_articleToolbar']/span/button[3]/span[2]"));
    selenium.clickAt(
        "//div[@id='_15_articleToolbar']/span/button[3]/span[2]",
        RuntimeVariables.replace("View History"));
    selenium.waitForPageToLoad("30000");
    assertEquals(
        RuntimeVariables.replace("WC WebContent Title"),
        selenium.getText("//h1[@class='header-title']/span"));
    assertEquals(RuntimeVariables.replace("${webContentID}"), selenium.getText("//tr[3]/td[2]"));
    assertEquals(
        RuntimeVariables.replace("WC WebContent Title"), selenium.getText("//tr[3]/td[3]"));
    assertEquals(RuntimeVariables.replace("1.0"), selenium.getText("//tr[3]/td[4]"));
    assertEquals(RuntimeVariables.replace("Expired"), selenium.getText("//tr[3]/td[5]"));
    assertTrue(selenium.isVisible("//tr[3]/td[6]"));
    assertTrue(selenium.isVisible("//tr[3]/td[7]"));
    assertEquals(RuntimeVariables.replace("Joe Bloggs"), selenium.getText("//tr[3]/td[8]"));
  }