Convert UI test; doesn't work

git-svn-id: https://svn.apache.org/repos/asf/manifoldcf/branches/CONNECTORS-1196-2@1788188 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/connectors/webcrawler/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/webcrawler/tests/NavigationHSQLDBUI.java b/connectors/webcrawler/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/webcrawler/tests/NavigationHSQLDBUI.java
index 69f3ce4..7422562 100644
--- a/connectors/webcrawler/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/webcrawler/tests/NavigationHSQLDBUI.java
+++ b/connectors/webcrawler/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/webcrawler/tests/NavigationHSQLDBUI.java
@@ -27,7 +27,7 @@
 import java.util.*;
 import org.junit.*;
 
-import org.apache.manifoldcf.core.tests.HTMLTester;
+import org.apache.manifoldcf.core.tests.SeleniumTester;
 
 /** Basic UI navigation tests */
 public class NavigationHSQLDBUI extends BaseUIHSQLDB
@@ -37,6 +37,142 @@
   public void createConnectionsAndJob()
     throws Exception
   {
+    testerInstance.start(SeleniumTester.BrowserType.CHROME, "en-US", "http://localhost:8346/mcf-crawler-ui/index.jsp");
+
+    //Login
+    testerInstance.waitForElementWithName("loginform");
+    testerInstance.setValue("userID","admin");
+    testerInstance.setValue("password","admin");
+    testerInstance.clickButton("Login");
+    testerInstance.verifyHeader("Welcome to Apache ManifoldCF™");
+    testerInstance.navigateTo("List output connections");
+    testerInstance.clickButton("Add a new output connection");
+
+    // Fill in a name
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyOutputConnection");
+
+    //Goto to Type tab
+    testerInstance.clickTab("Type");
+
+    // Select a type
+    testerInstance.waitForElementWithName("classname");
+    testerInstance.selectValue("classname","org.apache.manifoldcf.agents.tests.TestingOutputConnector");
+    testerInstance.clickButton("Continue");
+
+    // Go back to the Name tab
+    testerInstance.clickTab("Name");
+
+    // Now save the connection.
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
+    // Define a repository connection via the UI
+    testerInstance.navigateTo("List repository connections");
+    testerInstance.clickButton("Add new connection");
+
+    testerInstance.waitForElementWithName("connname");
+    testerInstance.setValue("connname","MyRepositoryConnection");
+
+    // Select a type
+    testerInstance.clickTab("Type");
+    testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.connectors.webcrawler.WebcrawlerConnector");
+    testerInstance.clickButton("Continue");
+
+    // Visit the rest of the tabs - Email first
+    testerInstance.clickTab("Email");
+    testerInstance.setValue("email", "foo@bar.com");
+    // Robots
+    testerInstance.clickTab("Robots");
+    testerInstance.selectValue("robotsusage", "none");
+    testerInstance.selectValue("metarobotstagsusage", "none");
+    // Bandwidth
+    testerInstance.clickTab("Bandwidth");
+    // Access Credentials
+    testerInstance.clickTab("Access Credentials");
+    // Certificates
+    testerInstance.clickTab("Certificates");
+    testerInstance.clickCheckbox("all_trust");
+    testerInstance.clickButton("Add", true);
+    
+    // Go back to the Name tab
+    testerInstance.clickTab("Name");
+    
+    // Save
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+
+    // Create a job
+    testerInstance.navigateTo("List jobs");
+    //Add a job
+    testerInstance.clickButton("Add a new job");
+    testerInstance.waitForElementWithName("description");
+    //Fill in a name
+    testerInstance.setValue("description","MyJob");
+    testerInstance.clickTab("Connection");
+
+    // Select the connections
+    testerInstance.selectValue("output_connectionname","MyOutputConnection");
+    testerInstance.selectValue("output_precedent","-1");
+    testerInstance.clickButton("Add output",true);
+    testerInstance.waitForElementWithName("connectionname");
+    testerInstance.selectValue("connectionname","MyRepositoryConnection");
+    
+    testerInstance.clickButton("Continue");
+
+    // HopFilters tab
+    testerInstance.clickTab("Hop Filters");
+    // Seeds tab
+    testerInstance.clickTab("Seeds");
+    testerInstance.setValue("s0_seeds", "http://www.cnn.com");
+    // Canonicalization tab
+    testerInstance.clickTab("Canonicalization");
+    testerInstance.clickButton("Add", true);
+    // Security tab
+    testerInstance.clickTab("Security");
+    // URL Mapping tab
+    testerInstance.clickTab("URL Mappings");
+    testerInstance.setValue("s0_rssmatch", "foo");
+    testerInstance.setValue("s0_rssmap", "bar");
+    testerInstance.clickButton("Add", true);
+    testerInstance.clickButton("Remove", true);
+    // Metadata tab
+    testerInstance.clickTab("Metadata");
+    // Inclusions tab
+    testerInstance.clickTab("Inclusions");
+    testerInstance.clickCheckbox("s0_matchinghosts");
+    // Exclusions tab
+    testerInstance.clickTab("Exclusions");
+
+    // Save the job
+    testerInstance.clickButton("Save");
+    testerInstance.verifyThereIsNoError();
+    
+    testerInstance.waitForPresenceById("job");
+    String jobID = testerInstance.getAttributeValueById("job","jobid");
+
+    //Navigate to List Jobs
+    testerInstance.navigateTo("List jobs");
+    testerInstance.waitForElementWithName("listjobs");
+
+    //Delete the job
+    testerInstance.clickButtonByTitle("Delete job " + jobID);
+    testerInstance.acceptAlert();
+    testerInstance.verifyThereIsNoError();
+
+    //Wait for the job to go away
+    testerInstance.waitForJobDeleteEN(jobID, 120);
+
+    // Delete the repository connection
+    testerInstance.navigateTo("List repository connections");
+    testerInstance.clickButtonByTitle("Delete MyRepositoryConnection");
+    testerInstance.acceptAlert();
+
+    // Delete the output connection
+    testerInstance.navigateTo("List output connections");
+    testerInstance.clickButtonByTitle("Delete MyOutputConnection");
+    testerInstance.acceptAlert();
+
 /*
     testerInstance.newTest(Locale.US);