Index: gs3-extensions/testing/trunk/src/build.xml
===================================================================
--- gs3-extensions/testing/trunk/src/build.xml	(revision 32685)
+++ gs3-extensions/testing/trunk/src/build.xml	(revision 32687)
@@ -9,5 +9,7 @@
   <target name="build-util-jar">
     <mkdir dir="${basedir}/build"/>
-    <javac srcdir="${basedir}/src" destdir="${basedir}/build">
+    <javac srcdir="${basedir}/src"
+	   destdir="${basedir}/build"
+	   includeantruntime="${compile.includeantruntime}">
       <classpath>
 	<fileset dir="${basedir}/lib/java">
Index: gs3-extensions/testing/trunk/src/src/org/greenstone/gsdl3/testing/GSGUITestingUtil.java
===================================================================
--- gs3-extensions/testing/trunk/src/src/org/greenstone/gsdl3/testing/GSGUITestingUtil.java	(revision 32687)
+++ gs3-extensions/testing/trunk/src/src/org/greenstone/gsdl3/testing/GSGUITestingUtil.java	(revision 32687)
@@ -0,0 +1,114 @@
+package org.greenstone.gsdl3.testing;
+
+import java.util.Map;
+import java.awt.Component;
+
+// only JUnit and JAssert-Swing, no Selenium in this class
+import org.junit.Assert;
+
+/*
+ * 
+*/
+
+public class GSGUITestingUtil
+{
+    
+    
+    public static final String DOWNLOAD_PANE = "GUI.Download";
+    public static final String GATHER_PANE = "GUI.Gather";
+    public static final String ENRICH_PANE = "GUI.Enrich";
+    public static final String DESIGN_PANE = "GUI.Design";
+    public static final String CREATE_PANE = "GUI.Create";
+    public static final String FORMAT_PANE = "GUI.Format";
+
+    /************** NEEDED FOR TESTING *************/
+    /*
+      Google: "Java swing automatically setName"
+      -> https://stackoverflow.com/questions/3628218/strategy-for-naming-swing-components
+      - https://stackoverflow.com/questions/4163500/how-to-automatic-set-name-attr-of-gui-components/4164479#4164479
+      - https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.wb.swing.doc.user%2Fhtml%2Fwizards%2Fswing%2Fautomatic_databinding.html
+      - https://stackoverflow.com/questions/28639294/in-java-how-to-get-name-of-component-which-is-clicked
+    */
+    public static void setNamesRecursively(Component rootComponent) {
+	
+    }
+
+    /************************ GENERAL *******************************/
+    public static void switchToPane(String pane) {}
+    public static void getMenu(String menu, String subMenu) {}
+
+    // e.g. pane = Enrich,view=collection; pane = Gather, view = workspace (or collection)
+    public static void getFolderPath(String pane, String view, String folderPath) {}
+    public static void getFilePath(String pane, String view, String filePath) {}
+    
+    /**********************FILE MENU*******************************/
+    public static void setPrefs(String tab, Map params) {}
+    // mode e.g. librarian, expert
+    public static void changeUserMode(String mode) {}
+    
+    public static void deleteCollection(){}
+    public static void saveCollection(){}
+    public static void closeCollection(){}    
+    public static void createCollection(String basedOn) {}    
+    public static void loadCollection(String colName) {}
+
+    // only for GS2?
+    public static void exportCollection() {}
+    
+    /*************** DESIGN ******************************/
+    public static void changeIndexer(String toIndexer) {}
+    public static void changeDB(String toDB) {}
+
+    public static void configurePartitionIndex(String tab, Map params) {}
+    
+    public static void configurePlugin(String pluginName, Map params) {
+    }
+
+    public static void configureClassifier(String classifierName, Map params) {}
+
+    public static void configurePlugout(String plugoutName, Map params) {}
+    
+    // https://www.journaldev.com/1257/java-varargs
+    // https://www.geeksforgeeks.org/variable-arguments-varargs-in-java/
+    public static void keepOnlyPlugins(String ... plug_n) {}
+
+    public static void removePlugs(String ... plug_n) {}
+
+    /********************** CREATE PANEL ********************/
+    public static void buildOpenCollection() {}
+    public static void buildOpenCollection(boolean minimalRebuild) {}
+    public static void configureImportOptions(Map params) {}
+    public static void configureBuildOptions(Map params) {}
+    
+    public static void buildOutputContains(String ... n) {}
+
+    /******************** GATHER PANE ********************/
+    public static void createWorkspaceShortcut(){}
+
+    // in current open collection
+    public static void createCollectionSubfolder() {}
+	
+    public static void dragNDrop(String workspacePath, String collPath) {}
+
+    /********************* ENRICH PANE ******************/
+    // docPath can be just docName or collectionSubfolder/Subfolder2/docName
+    public static void addMeta(String docPath, Map metanamesToValues) {}
+    public static void addFolderLevelMeta(String folderPath, Map metanamesToValues) {}
+
+    /********************* DOWNLOAD PANE ******************/
+    // TODO: more functions needed here: e.g. serverInfo?
+    public static void download(String downloader, Map params) {}
+    public static void clearCache() {}
+    public static String serverInfo() {
+	return "";
+    }
+    
+    /********************* DOWNLOAD PANE ******************/
+    public static void formatGeneral(){}
+    public static void formatSearch() {}
+    public static void formatFeature(String featureName, String filename) {}
+    public static boolean isFormatFeatureXMLValid() {
+	return true;
+    }
+
+}
