Modified: manifoldcf/branches/CONNECTORS-1196-3/connectors/filesystem/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/filesystem/tests/NavigationUITester.java URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1196-3/connectors/filesystem/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/filesystem/tests/NavigationUITester.java?rev=1788305&r1=1788304&r2=1788305&view=diff ============================================================================== --- manifoldcf/branches/CONNECTORS-1196-3/connectors/filesystem/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/filesystem/tests/NavigationUITester.java (original) +++ manifoldcf/branches/CONNECTORS-1196-3/connectors/filesystem/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/filesystem/tests/NavigationUITester.java Thu Mar 23 18:56:26 2017 @@ -27,15 +27,15 @@ import java.io.*; 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 NavigationUITester { - protected final HTMLTester testerInstance; + protected final SeleniumTester testerInstance; protected final String startURL; - public NavigationUITester(HTMLTester tester, String startURL) + public NavigationUITester(SeleniumTester tester, String startURL) { this.testerInstance = tester; this.startURL = startURL; @@ -44,200 +44,128 @@ public class NavigationUITester public void createConnectionsAndJob() throws Exception { - testerInstance.newTest(Locale.US); - - HTMLTester.Window window; - HTMLTester.Link link; - HTMLTester.Form form; - HTMLTester.Textarea textarea; - HTMLTester.Selectbox selectbox; - HTMLTester.Button button; - HTMLTester.Radiobutton radiobutton; - HTMLTester.Loop loop; - - window = testerInstance.openMainWindow(startURL); - - // Login - form = window.findForm(testerInstance.createStringDescription("loginform")); - textarea = form.findTextarea(testerInstance.createStringDescription("userID")); - textarea.setValue(testerInstance.createStringDescription("admin")); - textarea = form.findTextarea(testerInstance.createStringDescription("password")); - textarea.setValue(testerInstance.createStringDescription("admin")); - button = window.findButton(testerInstance.createStringDescription("Login")); - button.click(); - window = testerInstance.findWindow(null); - - // Define an output connection via the UI - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add an output connection")); - link.click(); + testerInstance.start(SeleniumTester.BrowserType.CHROME, "en-US", startURL); + + //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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyOutputConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyOutputConnection"); + + //Goto to Type tab + testerInstance.clickTab("Type"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.agents.tests.TestingOutputConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); + testerInstance.waitForElementWithName("classname"); + testerInstance.selectValue("classname","org.apache.manifoldcf.agents.tests.TestingOutputConnector"); + testerInstance.clickButton("Continue"); + // Visit the Throttling tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Throttling tab")); - link.click(); + testerInstance.clickTab("Throttling"); + // Go back to the Name tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); + testerInstance.clickTab("Name"); + // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this output connection")); - button.click(); - + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Define a repository connection via the UI - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a connection")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyRepositoryConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButton("Add new connection"); + + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyRepositoryConnection"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.crawler.connectors.filesystem.FileConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); + testerInstance.clickTab("Type"); + testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.connectors.filesystem.FileConnector"); + testerInstance.clickButton("Continue"); + // Visit the Throttling tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Throttling tab")); - link.click(); + testerInstance.clickTab("Throttling"); + // Go back to the Name tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); - // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this connection")); - button.click(); + testerInstance.clickTab("Name"); + // Save + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Create a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List jobs")); - link.click(); - // Add a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a job")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - textarea = form.findTextarea(testerInstance.createStringDescription("description")); - textarea.setValue(testerInstance.createStringDescription("MyJob")); - link = window.findLink(testerInstance.createStringDescription("Connection tab")); - link.click(); + 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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyOutputConnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_precedent")); - selectbox.selectValue(testerInstance.createStringDescription("-1")); - button = window.findButton(testerInstance.createStringDescription("Add an output")); - button.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyRepositoryConnection")); - button = window.findButton(testerInstance.createStringDescription("Continue to next screen")); - button.click(); + 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"); + // Visit all the tabs. Scheduling tab first - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Scheduling tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("dayofweek")); - selectbox.selectValue(testerInstance.createStringDescription("0")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("hourofday")); - selectbox.selectValue(testerInstance.createStringDescription("1")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("minutesofhour")); - selectbox.selectValue(testerInstance.createStringDescription("30")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("monthofyear")); - selectbox.selectValue(testerInstance.createStringDescription("11")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("dayofmonth")); - selectbox.selectValue(testerInstance.createStringDescription("none")); - textarea = form.findTextarea(testerInstance.createStringDescription("duration")); - textarea.setValue(testerInstance.createStringDescription("120")); - button = window.findButton(testerInstance.createStringDescription("Add new schedule record")); - button.click(); + testerInstance.clickTab("Scheduling"); + testerInstance.selectValue("dayofweek","0"); + testerInstance.selectValue("hourofday","1"); + testerInstance.selectValue("minutesofhour","30"); + testerInstance.selectValue("monthofyear","11"); + testerInstance.selectValue("dayofmonth","none"); + testerInstance.setValue("duration","120"); + testerInstance.clickButton("Add Scheduled Time",true); + testerInstance.waitForElementWithName("editjob"); + // Now, HopFilters - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Hop Filters tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - radiobutton = form.findRadiobutton(testerInstance.createStringDescription("hopcountmode"),testerInstance.createStringDescription("2")); - radiobutton.select(); - link = window.findLink(testerInstance.createStringDescription("Repository Paths tab")); - link.click(); - // Add a record to the Paths list + testerInstance.clickTab("Hop Filters"); + testerInstance.clickRadioButton("hopcountmode","2"); + + // Repository Paths tab + testerInstance.clickTab("Repository Paths"); // MHL // Save the job - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this job")); - button.click(); - - // Delete the job - window = testerInstance.findWindow(null); - HTMLTester.StringDescription jobID = window.findMatch(testerInstance.createStringDescription("<!--jobid=(.*?)-->"),0); - testerInstance.printValue(jobID); - link = window.findLink(testerInstance.createStringDescription("Delete this job")); - link.click(); - - // Wait for the job to go away - loop = testerInstance.beginLoop(120); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Manage jobs")); - link.click(); - window = testerInstance.findWindow(null); - HTMLTester.StringDescription isJobNotPresent = window.isNotPresent(jobID); - testerInstance.printValue(isJobNotPresent); - loop.breakWhenTrue(isJobNotPresent); - loop.endLoop(); + 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 - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyRepositoryConnection")); - link.click(); - + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButtonByTitle("Delete MyRepositoryConnection"); + testerInstance.acceptAlert(); + // Delete the output connection - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyOutputConnection")); - link.click(); - - testerInstance.executeTest(); + testerInstance.navigateTo("List output connections"); + testerInstance.clickButtonByTitle("Delete MyOutputConnection"); + testerInstance.acceptAlert(); + } }
Modified: manifoldcf/branches/CONNECTORS-1196-3/connectors/gts/connector/src/test/java/org/apache/manifoldcf/agents/output/gts/tests/NavigationHSQLDBUI.java URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1196-3/connectors/gts/connector/src/test/java/org/apache/manifoldcf/agents/output/gts/tests/NavigationHSQLDBUI.java?rev=1788305&r1=1788304&r2=1788305&view=diff ============================================================================== --- manifoldcf/branches/CONNECTORS-1196-3/connectors/gts/connector/src/test/java/org/apache/manifoldcf/agents/output/gts/tests/NavigationHSQLDBUI.java (original) +++ manifoldcf/branches/CONNECTORS-1196-3/connectors/gts/connector/src/test/java/org/apache/manifoldcf/agents/output/gts/tests/NavigationHSQLDBUI.java Thu Mar 23 18:56:26 2017 @@ -27,7 +27,7 @@ import java.io.*; 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,181 +37,119 @@ public class NavigationHSQLDBUI extends public void createConnectionsAndJob() throws Exception { - testerInstance.newTest(Locale.US); - - HTMLTester.Window window; - HTMLTester.Link link; - HTMLTester.Form form; - HTMLTester.Textarea textarea; - HTMLTester.Selectbox selectbox; - HTMLTester.Button button; - HTMLTester.Radiobutton radiobutton; - HTMLTester.Loop loop; - - window = testerInstance.openMainWindow("http://localhost:8346/mcf-crawler-ui/index.jsp"); - - // Login - form = window.findForm(testerInstance.createStringDescription("loginform")); - textarea = form.findTextarea(testerInstance.createStringDescription("userID")); - textarea.setValue(testerInstance.createStringDescription("admin")); - textarea = form.findTextarea(testerInstance.createStringDescription("password")); - textarea.setValue(testerInstance.createStringDescription("admin")); - button = window.findButton(testerInstance.createStringDescription("Login")); - button.click(); - window = testerInstance.findWindow(null); - - // Define an output connection via the UI - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add an output connection")); - link.click(); + 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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyOutputConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyOutputConnection"); + + //Goto to Type tab + testerInstance.clickTab("Type"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.agents.output.gts.GTSConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); + testerInstance.waitForElementWithName("classname"); + testerInstance.selectValue("classname","org.apache.manifoldcf.agents.output.gts.GTSConnector"); + testerInstance.clickButton("Continue",120); + // Visit the Throttling tab - link = window.findLink(testerInstance.createStringDescription("Throttling tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); + testerInstance.clickTab("Throttling"); + // Visit the Appliance tab - link = window.findLink(testerInstance.createStringDescription("Appliance tab")); - link.click(); + testerInstance.clickTab("Appliance"); + + // Go back to the Name tab + testerInstance.clickTab("Name"); // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this output connection")); - button.click(); - + testerInstance.clickButton("Save",60); + testerInstance.verifyThereIsNoError(); + // Define a repository connection via the UI - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a connection")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyRepositoryConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButton("Add new connection"); + + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyRepositoryConnection"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.crawler.tests.TestingRepositoryConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); + testerInstance.clickTab("Type"); + testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.tests.TestingRepositoryConnector"); + testerInstance.clickButton("Continue"); + // Visit the Throttling tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Throttling tab")); - link.click(); + testerInstance.clickTab("Throttling"); + // Go back to the Name tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); - // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this connection")); - button.click(); + testerInstance.clickTab("Name"); + // Save + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Create a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List jobs")); - link.click(); - // Add a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a job")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - textarea = form.findTextarea(testerInstance.createStringDescription("description")); - textarea.setValue(testerInstance.createStringDescription("MyJob")); - link = window.findLink(testerInstance.createStringDescription("Connection tab")); - link.click(); + 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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyOutputConnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_precedent")); - selectbox.selectValue(testerInstance.createStringDescription("-1")); - button = window.findButton(testerInstance.createStringDescription("Add an output")); - button.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyRepositoryConnection")); - button = window.findButton(testerInstance.createStringDescription("Continue to next screen")); - button.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); + 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"); + // GTS Template - link = window.findLink(testerInstance.createStringDescription("GTS Template tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); + testerInstance.clickTab("GTS Template"); + // GTS Collections - link = window.findLink(testerInstance.createStringDescription("GTS Collections tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); + testerInstance.clickTab("GTS Collections"); // Save the job - button = window.findButton(testerInstance.createStringDescription("Save this job")); - button.click(); - - // Delete the job - window = testerInstance.findWindow(null); - HTMLTester.StringDescription jobID = window.findMatch(testerInstance.createStringDescription("<!--jobid=(.*?)-->"),0); - testerInstance.printValue(jobID); - link = window.findLink(testerInstance.createStringDescription("Delete this job")); - link.click(); - - // Wait for the job to go away - loop = testerInstance.beginLoop(120); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Manage jobs")); - link.click(); - window = testerInstance.findWindow(null); - HTMLTester.StringDescription isJobNotPresent = window.isNotPresent(jobID); - testerInstance.printValue(isJobNotPresent); - loop.breakWhenTrue(isJobNotPresent); - loop.endLoop(); + 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 - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyRepositoryConnection")); - link.click(); - + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButtonByTitle("Delete MyRepositoryConnection"); + testerInstance.acceptAlert(); + // Delete the output connection - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyOutputConnection")); - link.click(); - - testerInstance.executeTest(); + testerInstance.navigateTo("List output connections"); + testerInstance.clickButtonByTitle("Delete MyOutputConnection"); + testerInstance.acceptAlert(); + + //Make sure that we don't land in an error after deleting output connection + testerInstance.verifyThereIsNoError(); + } - } Modified: manifoldcf/branches/CONNECTORS-1196-3/connectors/hdfs/build.xml URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1196-3/connectors/hdfs/build.xml?rev=1788305&r1=1788304&r2=1788305&view=diff ============================================================================== --- manifoldcf/branches/CONNECTORS-1196-3/connectors/hdfs/build.xml (original) +++ manifoldcf/branches/CONNECTORS-1196-3/connectors/hdfs/build.xml Thu Mar 23 18:56:26 2017 @@ -39,7 +39,6 @@ <include name="hadoop-annotations*.jar"/> <include name="hadoop-auth*.jar"/> <include name="hadoop-hdfs*.jar"/> - <include name="guava*.jar"/> <include name="htrace-core*.jar"/> <include name="protobuf-java*.jar"/> </fileset> @@ -55,7 +54,6 @@ <include name="hadoop-annotations*.jar"/> <include name="hadoop-auth*.jar"/> <include name="hadoop-hdfs*.jar"/> - <include name="guava*.jar"/> <include name="htrace-core*.jar"/> <include name="protobuf-java*.jar"/> </fileset> Modified: manifoldcf/branches/CONNECTORS-1196-3/connectors/hdfs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/hdfs/tests/NavigationUITester.java URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1196-3/connectors/hdfs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/hdfs/tests/NavigationUITester.java?rev=1788305&r1=1788304&r2=1788305&view=diff ============================================================================== --- manifoldcf/branches/CONNECTORS-1196-3/connectors/hdfs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/hdfs/tests/NavigationUITester.java (original) +++ manifoldcf/branches/CONNECTORS-1196-3/connectors/hdfs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/hdfs/tests/NavigationUITester.java Thu Mar 23 18:56:26 2017 @@ -27,15 +27,15 @@ import java.io.*; 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 NavigationUITester { - protected final HTMLTester testerInstance; + protected final SeleniumTester testerInstance; protected final String startURL; - public NavigationUITester(HTMLTester tester, String startURL) + public NavigationUITester(SeleniumTester tester, String startURL) { this.testerInstance = tester; this.startURL = startURL; @@ -44,208 +44,132 @@ public class NavigationUITester public void createConnectionsAndJob() throws Exception { - testerInstance.newTest(Locale.US); - - HTMLTester.Window window; - HTMLTester.Link link; - HTMLTester.Form form; - HTMLTester.Textarea textarea; - HTMLTester.Selectbox selectbox; - HTMLTester.Button button; - HTMLTester.Radiobutton radiobutton; - HTMLTester.Loop loop; - - window = testerInstance.openMainWindow(startURL); - - // Login - form = window.findForm(testerInstance.createStringDescription("loginform")); - textarea = form.findTextarea(testerInstance.createStringDescription("userID")); - textarea.setValue(testerInstance.createStringDescription("admin")); - textarea = form.findTextarea(testerInstance.createStringDescription("password")); - textarea.setValue(testerInstance.createStringDescription("admin")); - button = window.findButton(testerInstance.createStringDescription("Login")); - button.click(); - window = testerInstance.findWindow(null); - - // Define an output connection via the UI - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add an output connection")); - link.click(); + testerInstance.start(SeleniumTester.BrowserType.CHROME, "en-US", startURL); + + //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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyOutputConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyOutputConnection"); + + //Goto to Type tab + testerInstance.clickTab("Type"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.agents.tests.TestingOutputConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); + testerInstance.waitForElementWithName("classname"); + testerInstance.selectValue("classname","org.apache.manifoldcf.agents.tests.TestingOutputConnector"); + testerInstance.clickButton("Continue"); + // Visit the Throttling tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Throttling tab")); - link.click(); + testerInstance.clickTab("Throttling"); + // Go back to the Name tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); + testerInstance.clickTab("Name"); + // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this output connection")); - button.click(); - + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Define a repository connection via the UI - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a connection")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyRepositoryConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButton("Add new connection"); + + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyRepositoryConnection"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.crawler.connectors.hdfs.HDFSRepositoryConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); + testerInstance.clickTab("Type"); + testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.connectors.hdfs.HDFSRepositoryConnector"); + testerInstance.clickButton("Continue"); + // Visit the Throttling tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Throttling tab")); - link.click(); + testerInstance.clickTab("Throttling"); + // Go back to the Name tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); - // Server tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Server tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("user")); - textarea.setValue(testerInstance.createStringDescription("foo")); - // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this connection")); - button.click(); + testerInstance.clickTab("Name"); + // Server tab + testerInstance.clickTab("Server"); + testerInstance.setValue("user", "foo"); + + // Save + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Create a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List jobs")); - link.click(); - // Add a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a job")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - textarea = form.findTextarea(testerInstance.createStringDescription("description")); - textarea.setValue(testerInstance.createStringDescription("MyJob")); - link = window.findLink(testerInstance.createStringDescription("Connection tab")); - link.click(); + 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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyOutputConnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_precedent")); - selectbox.selectValue(testerInstance.createStringDescription("-1")); - button = window.findButton(testerInstance.createStringDescription("Add an output")); - button.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyRepositoryConnection")); - button = window.findButton(testerInstance.createStringDescription("Continue to next screen")); - button.click(); + 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"); + // Visit all the tabs. Scheduling tab first - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Scheduling tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("dayofweek")); - selectbox.selectValue(testerInstance.createStringDescription("0")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("hourofday")); - selectbox.selectValue(testerInstance.createStringDescription("1")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("minutesofhour")); - selectbox.selectValue(testerInstance.createStringDescription("30")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("monthofyear")); - selectbox.selectValue(testerInstance.createStringDescription("11")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("dayofmonth")); - selectbox.selectValue(testerInstance.createStringDescription("none")); - textarea = form.findTextarea(testerInstance.createStringDescription("duration")); - textarea.setValue(testerInstance.createStringDescription("120")); - button = window.findButton(testerInstance.createStringDescription("Add new schedule record")); - button.click(); + testerInstance.clickTab("Scheduling"); + testerInstance.selectValue("dayofweek","0"); + testerInstance.selectValue("hourofday","1"); + testerInstance.selectValue("minutesofhour","30"); + testerInstance.selectValue("monthofyear","11"); + testerInstance.selectValue("dayofmonth","none"); + testerInstance.setValue("duration","120"); + testerInstance.clickButton("Add Scheduled Time",true); + testerInstance.waitForElementWithName("editjob"); + // Now, HopFilters - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Hop Filters tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - radiobutton = form.findRadiobutton(testerInstance.createStringDescription("hopcountmode"),testerInstance.createStringDescription("2")); - radiobutton.select(); - link = window.findLink(testerInstance.createStringDescription("Repository Paths tab")); - link.click(); - // Add a record to the Paths list + testerInstance.clickTab("Hop Filters"); + testerInstance.clickRadioButton("hopcountmode","2"); + + // Repository Paths tab + testerInstance.clickTab("Repository Paths"); // MHL // Save the job - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this job")); - button.click(); - - // Delete the job - window = testerInstance.findWindow(null); - HTMLTester.StringDescription jobID = window.findMatch(testerInstance.createStringDescription("<!--jobid=(.*?)-->"),0); - testerInstance.printValue(jobID); - link = window.findLink(testerInstance.createStringDescription("Delete this job")); - link.click(); - - // Wait for the job to go away - loop = testerInstance.beginLoop(120); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Manage jobs")); - link.click(); - window = testerInstance.findWindow(null); - HTMLTester.StringDescription isJobNotPresent = window.isNotPresent(jobID); - testerInstance.printValue(isJobNotPresent); - loop.breakWhenTrue(isJobNotPresent); - loop.endLoop(); + 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 - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyRepositoryConnection")); - link.click(); - + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButtonByTitle("Delete MyRepositoryConnection"); + testerInstance.acceptAlert(); + // Delete the output connection - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyOutputConnection")); - link.click(); - - testerInstance.executeTest(); + testerInstance.navigateTo("List output connections"); + testerInstance.clickButtonByTitle("Delete MyOutputConnection"); + testerInstance.acceptAlert(); + } } Modified: manifoldcf/branches/CONNECTORS-1196-3/connectors/jcifs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/sharedrive/tests/NavigationHSQLDBUI.java URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1196-3/connectors/jcifs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/sharedrive/tests/NavigationHSQLDBUI.java?rev=1788305&r1=1788304&r2=1788305&view=diff ============================================================================== --- manifoldcf/branches/CONNECTORS-1196-3/connectors/jcifs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/sharedrive/tests/NavigationHSQLDBUI.java (original) +++ manifoldcf/branches/CONNECTORS-1196-3/connectors/jcifs/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/sharedrive/tests/NavigationHSQLDBUI.java Thu Mar 23 18:56:26 2017 @@ -27,7 +27,7 @@ import java.io.*; 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,204 +37,121 @@ public class NavigationHSQLDBUI extends public void createConnectionsAndJob() throws Exception { - testerInstance.newTest(Locale.US); - - HTMLTester.Window window; - HTMLTester.Link link; - HTMLTester.Form form; - HTMLTester.Textarea textarea; - HTMLTester.Selectbox selectbox; - HTMLTester.Button button; - HTMLTester.Radiobutton radiobutton; - HTMLTester.Loop loop; - - window = testerInstance.openMainWindow("http://localhost:8346/mcf-crawler-ui/index.jsp"); - - // Login - form = window.findForm(testerInstance.createStringDescription("loginform")); - textarea = form.findTextarea(testerInstance.createStringDescription("userID")); - textarea.setValue(testerInstance.createStringDescription("admin")); - textarea = form.findTextarea(testerInstance.createStringDescription("password")); - textarea.setValue(testerInstance.createStringDescription("admin")); - button = window.findButton(testerInstance.createStringDescription("Login")); - button.click(); - window = testerInstance.findWindow(null); - - // Define an output connection via the UI - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add an output connection")); - link.click(); + 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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyOutputConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyOutputConnection"); + + //Goto to Type tab + testerInstance.clickTab("Type"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.agents.tests.TestingOutputConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); - // Visit the Throttling tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Throttling tab")); - link.click(); + testerInstance.waitForElementWithName("classname"); + testerInstance.selectValue("classname","org.apache.manifoldcf.agents.tests.TestingOutputConnector"); + testerInstance.clickButton("Continue"); + // Go back to the Name tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); + testerInstance.clickTab("Name"); + // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this output connection")); - button.click(); - + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Define a repository connection via the UI - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a connection")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyRepositoryConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButton("Add new connection"); + + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyRepositoryConnection"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.crawler.connectors.sharedrive.SharedDriveConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); - window = testerInstance.findWindow(null); + testerInstance.clickTab("Type"); + testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.connectors.sharedrive.SharedDriveConnector"); + testerInstance.clickButton("Continue"); + // Visit the Server tab - link = window.findLink(testerInstance.createStringDescription("Server tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("server")); - textarea.setValue(testerInstance.createStringDescription("localhost")); - textarea = form.findTextarea(testerInstance.createStringDescription("username")); - textarea.setValue(testerInstance.createStringDescription("foo")); - + testerInstance.clickTab("Server"); + testerInstance.setValue("server", "localhost"); + testerInstance.setValue("username", "foo"); + // Go back to the Name tab - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); - // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this connection")); - button.click(); + testerInstance.clickTab("Name"); + // Save + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Create a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List jobs")); - link.click(); - // Add a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a job")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - textarea = form.findTextarea(testerInstance.createStringDescription("description")); - textarea.setValue(testerInstance.createStringDescription("MyJob")); - link = window.findLink(testerInstance.createStringDescription("Connection tab")); - link.click(); + 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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyOutputConnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_precedent")); - selectbox.selectValue(testerInstance.createStringDescription("-1")); - button = window.findButton(testerInstance.createStringDescription("Add an output")); - button.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyRepositoryConnection")); - button = window.findButton(testerInstance.createStringDescription("Continue to next screen")); - button.click(); + 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"); + // Visit all the connector tabs. // Paths - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - link = window.findLink(testerInstance.createStringDescription("Paths tab")); - link.click(); + testerInstance.clickTab("Paths"); // Security - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - link = window.findLink(testerInstance.createStringDescription("Security tab")); - link.click(); + testerInstance.clickTab("Security"); // Metadata - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - link = window.findLink(testerInstance.createStringDescription("Metadata tab")); - link.click(); + testerInstance.clickTab("Metadata"); // Content Length - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - link = window.findLink(testerInstance.createStringDescription("Content Length tab")); - link.click(); + testerInstance.clickTab("Content Length"); // File Mapping - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - link = window.findLink(testerInstance.createStringDescription("File Mapping tab")); - link.click(); + testerInstance.clickTab("File Mapping"); // URL Mapping - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - link = window.findLink(testerInstance.createStringDescription("URL Mapping tab")); - link.click(); - + testerInstance.clickTab("URL Mapping"); + // Save the job - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this job")); - button.click(); - - // Delete the job - window = testerInstance.findWindow(null); - HTMLTester.StringDescription jobID = window.findMatch(testerInstance.createStringDescription("<!--jobid=(.*?)-->"),0); - testerInstance.printValue(jobID); - link = window.findLink(testerInstance.createStringDescription("Delete this job")); - link.click(); - - // Wait for the job to go away - loop = testerInstance.beginLoop(120); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Manage jobs")); - link.click(); - window = testerInstance.findWindow(null); - HTMLTester.StringDescription isJobNotPresent = window.isNotPresent(jobID); - testerInstance.printValue(isJobNotPresent); - loop.breakWhenTrue(isJobNotPresent); - loop.endLoop(); + 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 - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyRepositoryConnection")); - link.click(); - + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButtonByTitle("Delete MyRepositoryConnection"); + testerInstance.acceptAlert(); + // Delete the output connection - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyOutputConnection")); - link.click(); - - testerInstance.executeTest(); + testerInstance.navigateTo("List output connections"); + testerInstance.clickButtonByTitle("Delete MyOutputConnection"); + testerInstance.acceptAlert(); + } } Modified: manifoldcf/branches/CONNECTORS-1196-3/connectors/jdbc/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/jdbc/tests/NavigationHSQLDBUI.java URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1196-3/connectors/jdbc/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/jdbc/tests/NavigationHSQLDBUI.java?rev=1788305&r1=1788304&r2=1788305&view=diff ============================================================================== --- manifoldcf/branches/CONNECTORS-1196-3/connectors/jdbc/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/jdbc/tests/NavigationHSQLDBUI.java (original) +++ manifoldcf/branches/CONNECTORS-1196-3/connectors/jdbc/connector/src/test/java/org/apache/manifoldcf/crawler/connectors/jdbc/tests/NavigationHSQLDBUI.java Thu Mar 23 18:56:26 2017 @@ -27,7 +27,7 @@ import java.io.*; 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,270 +37,173 @@ public class NavigationHSQLDBUI extends public void createConnectionsAndJob() throws Exception { - testerInstance.newTest(Locale.US); - - HTMLTester.Window window; - HTMLTester.Link link; - HTMLTester.Form form; - HTMLTester.Textarea textarea; - HTMLTester.Selectbox selectbox; - HTMLTester.Button button; - HTMLTester.Radiobutton radiobutton; - HTMLTester.Loop loop; - - window = testerInstance.openMainWindow("http://localhost:8346/mcf-crawler-ui/index.jsp"); - - // Login - form = window.findForm(testerInstance.createStringDescription("loginform")); - textarea = form.findTextarea(testerInstance.createStringDescription("userID")); - textarea.setValue(testerInstance.createStringDescription("admin")); - textarea = form.findTextarea(testerInstance.createStringDescription("password")); - textarea.setValue(testerInstance.createStringDescription("admin")); - button = window.findButton(testerInstance.createStringDescription("Login")); - button.click(); - window = testerInstance.findWindow(null); - - // Define an output connection via the UI - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add an output connection")); - link.click(); + 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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyOutputConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyOutputConnection"); + + //Goto to Type tab + testerInstance.clickTab("Type"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.agents.tests.TestingOutputConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); - // Visit the Throttling tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Throttling tab")); - link.click(); + testerInstance.waitForElementWithName("classname"); + testerInstance.selectValue("classname","org.apache.manifoldcf.agents.tests.TestingOutputConnector"); + testerInstance.clickButton("Continue"); + // Go back to the Name tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); + testerInstance.clickTab("Name"); + // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this output connection")); - button.click(); - + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Define a repository connection via the UI - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a connection")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyRepositoryConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButton("Add new connection"); + + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyRepositoryConnection"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.crawler.connectors.jdbc.JDBCConnector")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); - window = testerInstance.findWindow(null); + testerInstance.clickTab("Type"); + testerInstance.selectValue("classname","org.apache.manifoldcf.crawler.connectors.jdbc.JDBCConnector"); + testerInstance.clickButton("Continue"); + // Credentials tab - link = window.findLink(testerInstance.createStringDescription("Credentials tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("username")); - textarea.setValue(testerInstance.createStringDescription("foo")); + testerInstance.clickTab("Credentials"); + testerInstance.setValue("username", "foo"); + // Server - link = window.findLink(testerInstance.createStringDescription("Server tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); + testerInstance.clickTab("Server"); + // Database Type - link = window.findLink(testerInstance.createStringDescription("Database Type tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); + testerInstance.clickTab("Database Type"); // Go back to the Name tab - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); - // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this connection")); - button.click(); + testerInstance.clickTab("Name"); + // Save + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + // Create a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List jobs")); - link.click(); - // Add a job - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a job")); - link.click(); - // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - textarea = form.findTextarea(testerInstance.createStringDescription("description")); - textarea.setValue(testerInstance.createStringDescription("MyJob")); - link = window.findLink(testerInstance.createStringDescription("Connection tab")); - link.click(); + 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 - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyOutputConnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("output_precedent")); - selectbox.selectValue(testerInstance.createStringDescription("-1")); - button = window.findButton(testerInstance.createStringDescription("Add an output")); - button.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("connectionname")); - selectbox.selectValue(testerInstance.createStringDescription("MyRepositoryConnection")); - button = window.findButton(testerInstance.createStringDescription("Continue to next screen")); - button.click(); + 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"); + // Visit all the connector tabs. // Queries - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - link = window.findLink(testerInstance.createStringDescription("Queries tab")); - link.click(); - // Security - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editjob")); - link = window.findLink(testerInstance.createStringDescription("Security tab")); - link.click(); + testerInstance.clickTab("Queries"); + // Security + testerInstance.clickTab("Security"); + // Save the job - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this job")); - button.click(); - - // Delete the job - window = testerInstance.findWindow(null); - HTMLTester.StringDescription jobID = window.findMatch(testerInstance.createStringDescription("<!--jobid=(.*?)-->"),0); - testerInstance.printValue(jobID); - link = window.findLink(testerInstance.createStringDescription("Delete this job")); - link.click(); - - // Wait for the job to go away - loop = testerInstance.beginLoop(120); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Manage jobs")); - link.click(); - window = testerInstance.findWindow(null); - HTMLTester.StringDescription isJobNotPresent = window.isNotPresent(jobID); - testerInstance.printValue(isJobNotPresent); - loop.breakWhenTrue(isJobNotPresent); - loop.endLoop(); + 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 - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List repository connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyRepositoryConnection")); - link.click(); - + testerInstance.navigateTo("List repository connections"); + testerInstance.clickButtonByTitle("Delete MyRepositoryConnection"); + testerInstance.acceptAlert(); + // Delete the output connection - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List output connections")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyOutputConnection")); - link.click(); - - // Now go on to execute the authority test + testerInstance.navigateTo("List output connections"); + testerInstance.clickButtonByTitle("Delete MyOutputConnection"); + testerInstance.acceptAlert(); + + // Exercise authority UI + + // Add an authority group + testerInstance.navigateTo("List authority groups"); + testerInstance.clickButton("Add a new authority group"); + + // Fill in a name + testerInstance.waitForElementWithName("groupname"); + testerInstance.setValue("groupname","MyAuthorityGroup"); + + // Save the authority group + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); + + // Add an authority + testerInstance.navigateTo("List authorities"); + testerInstance.clickButton("Add a new connection"); - window = testerInstance.openMainWindow("http://localhost:8346/mcf-crawler-ui/index.jsp"); - - // Define an authority connection via the UI - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List authority groups")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add new authority group")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editgroup")); - textarea = form.findTextarea(testerInstance.createStringDescription("groupname")); - textarea.setValue(testerInstance.createStringDescription("MyAuthorityConnection")); - button = window.findButton(testerInstance.createStringDescription("Save this authority group")); - button.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List authorities")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Add a new connection")); - link.click(); // Fill in a name - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("connname")); - textarea.setValue(testerInstance.createStringDescription("MyAuthorityConnection")); - link = window.findLink(testerInstance.createStringDescription("Type tab")); - link.click(); + testerInstance.waitForElementWithName("connname"); + testerInstance.setValue("connname","MyAuthorityConnection"); + // Select a type - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("classname")); - selectbox.selectValue(testerInstance.createStringDescription("org.apache.manifoldcf.authorities.authorities.jdbc.JDBCAuthority")); - selectbox = form.findSelectbox(testerInstance.createStringDescription("authoritygroup")); - selectbox.selectValue(testerInstance.createStringDescription("MyAuthorityConnection")); - button = window.findButton(testerInstance.createStringDescription("Continue to next page")); - button.click(); + testerInstance.clickTab("Type"); + testerInstance.selectValue("classname","org.apache.manifoldcf.authorities.authorities.jdbc.JDBCAuthority"); + testerInstance.selectValue("authoritygroup", "MyAuthorityGroup"); + testerInstance.clickButton("Continue"); + // Credentials tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Credentials tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - textarea = form.findTextarea(testerInstance.createStringDescription("username")); - textarea.setValue(testerInstance.createStringDescription("foo")); + testerInstance.clickTab("Credentials"); + testerInstance.setValue("username", "foo"); + // Server - link = window.findLink(testerInstance.createStringDescription("Server tab")); - link.click(); - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); + testerInstance.clickTab("Server"); + // Database Type - link = window.findLink(testerInstance.createStringDescription("Database Type tab")); - link.click(); - // Visit all the connector tabs. - // Queries - window = testerInstance.findWindow(null); - form = window.findForm(testerInstance.createStringDescription("editconnection")); - link = window.findLink(testerInstance.createStringDescription("Queries tab")); - link.click(); - // Go back to the Name tab - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Name tab")); - link.click(); - // Now save the connection. - window = testerInstance.findWindow(null); - button = window.findButton(testerInstance.createStringDescription("Save this authority connection")); - button.click(); + testerInstance.clickTab("Database Type"); + + // Back to the name tab + testerInstance.clickTab("Name"); - // Delete the authority connection - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("List authorities")); - link.click(); - window = testerInstance.findWindow(null); - link = window.findLink(testerInstance.createStringDescription("Delete MyAuthorityConnection")); - link.click(); + // Now, save + testerInstance.clickButton("Save"); + testerInstance.verifyThereIsNoError(); - testerInstance.executeTest(); + // Delete the authority connection + testerInstance.navigateTo("List authorities"); + testerInstance.clickButtonByTitle("Delete MyAuthorityConnection"); + testerInstance.acceptAlert(); + + // Delete the authority group + testerInstance.navigateTo("List authority groups"); + testerInstance.clickButtonByTitle("Delete MyAuthorityGroup"); + testerInstance.acceptAlert(); } }
