<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/j2sdk1.3.1"/>
+ <classpathentry kind="src" path="src/test/java"/>
+ <classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="output" path="bin"/>
</classpath>
-#Sat Sep 20 12:22:38 GMT+02:00 2008
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+#Wed Sep 24 19:16:50 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
+org.eclipse.jdt.core.compiler.compliance=1.4
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
org.eclipse.jdt.core.compiler.source=1.3
-eclipse.preferences.version=1
</plugin>
</plugins>
</build>
+ <dependencies>
+ <dependency>
+ <groupId>org.argeo.slc</groupId>
+ <artifactId>org.argeo.slc.autoui</artifactId>
+ <version>0.11.1-SNAPSHOT</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.main</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.argeo.dep.jemmy</groupId>
+ <artifactId>org.argeo.dep.jemmy.nb61</artifactId>
+ <version>0.2.1-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
--- /dev/null
+package org.argeo.slc.jemmytest;
+
+import java.io.Serializable;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+
+import junit.framework.TestCase;
+
+import org.argeo.slc.autoui.rmi.AutoUiContext;
+import org.argeo.slc.autoui.rmi.AutoUiServer;
+import org.argeo.slc.autoui.rmi.AutoUiTask;
+import org.argeo.slc.testui.SwingTestUi;
+import org.netbeans.jemmy.ClassReference;
+import org.netbeans.jemmy.operators.JButtonOperator;
+import org.netbeans.jemmy.operators.JFrameOperator;
+import org.netbeans.jemmy.operators.JLabelOperator;
+
+public class JemmyRemoteTest extends TestCase implements Serializable {
+ static final long serialVersionUID = 1l;
+
+ public void testRemote() throws Exception {
+ if (System.getSecurityManager() == null) {
+ System.setSecurityManager(new SecurityManager());
+ }
+ String name = "AutoUiServer";
+ Registry registry = LocateRegistry.getRegistry("localhost");
+ AutoUiServer server = (AutoUiServer) registry.lookup(name);
+ AutoUiTask startFrame = new AutoUiTask() {
+ static final long serialVersionUID = 1l;
+
+ public Object execute(AutoUiContext context) throws Exception {
+ // Start application
+ ClassReference classReference = new ClassReference(
+ SwingTestUi.class.getName());
+ String[] args = { "noExitOnClose" };
+ classReference.startApplication(args);
+
+ // Find components
+ JFrameOperator jFrameOperator = new JFrameOperator(
+ "HelloWorldSwing");
+ JButtonOperator jButtonOperator = new JButtonOperator(
+ jFrameOperator, "Button");
+ JLabelOperator jLabelOperator = new JLabelOperator(
+ jFrameOperator, "Hello World");
+
+ context.setLocalRef("label", jLabelOperator);
+ context.setLocalRef("button", jButtonOperator);
+ return null;
+ }
+
+ };
+
+ AutoUiTask pushButton = new AutoUiTask() {
+ static final long serialVersionUID = 1l;
+
+ public Object execute(AutoUiContext context) throws Exception {
+ JButtonOperator jButtonOperator = (JButtonOperator) context
+ .getLocalRef("button");
+ JLabelOperator jLabelOperator = (JLabelOperator) context
+ .getLocalRef("label");
+
+ // Execute actions
+ jButtonOperator.push();
+
+ // Performs checks
+ String textAfterPush = jLabelOperator.getText();
+ Boolean pressed = new Boolean(textAfterPush.equals("Pressed!!"));
+ return pressed;
+ }
+
+ };
+
+ server.executeTask(startFrame);
+ Boolean pressed = (Boolean) server.executeTask(pushButton);
+ assertTrue("Has been pressed", pressed.booleanValue());
+ }
+
+ public static void main(String[] args){
+ try {
+ JemmyRemoteTest jemmyRemoteTest = new JemmyRemoteTest();
+ jemmyRemoteTest.testRemote();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
--- /dev/null
+package org.argeo.slc.jemmytest;
+
+import junit.framework.TestCase;
+
+import org.argeo.slc.testui.SwingTestUi;
+import org.netbeans.jemmy.ClassReference;
+import org.netbeans.jemmy.operators.JButtonOperator;
+import org.netbeans.jemmy.operators.JFrameOperator;
+import org.netbeans.jemmy.operators.JLabelOperator;
+
+public class SwingTestJemmy extends TestCase {
+// private final static Log log = LogFactory.getLog(SwingTestJemmy.class);
+
+ public void testSimple() throws Exception {
+ // Start application
+ ClassReference classReference = new ClassReference(SwingTestUi.class
+ .getName());
+ String[] args = { "noExitOnClose" };
+ classReference.startApplication(args);
+
+ // Find components
+ JFrameOperator jFrameOperator = new JFrameOperator("HelloWorldSwing");
+ JButtonOperator jButtonOperator = new JButtonOperator(jFrameOperator,
+ "Button");
+ JLabelOperator jLabelOperator = new JLabelOperator(jFrameOperator,
+ "Hello World");
+
+ // Execute actions
+ jButtonOperator.push();
+
+ // Performs checks
+ String textAfterPush = jLabelOperator.getText();
+ assertEquals("Pressed!!", textAfterPush);
+
+ // Clean up
+ jFrameOperator.close();
+ }
+
+}
--- /dev/null
+# Set root logger level to DEBUG and its only appender to A1.\r
+log4j.rootLogger=WARN, console\r
+\r
+## Levels\r
+# Slc\r
+log4j.logger.org.argeo.slc=DEBUG\r
+\r
+## Appenders\r
+# A1 is set to be a ConsoleAppender.\r
+log4j.appender.console=org.apache.log4j.ConsoleAppender\r
+\r
+# A1 uses PatternLayout.\r
+log4j.appender.console.layout=org.apache.log4j.PatternLayout\r
+log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c %n\r
+\r