<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc</groupId>
- <artifactId>argeo-slc</artifactId>
- <version>0.11.1-SNAPSHOT</version>
- <relativePath>../org.argeo.slc</relativePath>
- </parent>
- <groupId>org.argeo.slc.sandbox</groupId>
- <artifactId>org.argeo.slc.sandbox.jemmytest</artifactId>
- <name>SLC Sandbox JemmyTest</name>
- <packaging>bundle</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>1.4.3</version>
- <extensions>true</extensions>
- <configuration>
- <manifestLocation>
- src/main/resources/META-INF
- </manifestLocation>
- <instructions>
- <Bundle-SymbolicName>
- ${pom.artifactId}
- </Bundle-SymbolicName>
- <Bundle-Activator>
- org.argeo.slc.jemmytest.JemmyTestActivator
- </Bundle-Activator>
- <Export-Package>
- org.argeo.slc.jemmytest.*
- </Export-Package>
- <Import-Package>
- *,org.springframework.beans.factory.xml
- </Import-Package>
- <Require-Bundle>
- org.argeo.slc.detached
- </Require-Bundle>
- </instructions>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.3</source>
- <target>1.3</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <skipTests>true</skipTests>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <profiles></profiles>
- <dependencies>
- <dependency>
- <groupId>org.argeo.slc</groupId>
- <artifactId>org.argeo.slc.detached</artifactId>
- <version>${project.version}</version>
- </dependency>
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.argeo.slc</groupId>
+ <artifactId>argeo-slc</artifactId>
+ <version>0.11.1-SNAPSHOT</version>
+ <relativePath>../org.argeo.slc</relativePath>
+ </parent>
+ <groupId>org.argeo.slc.sandbox</groupId>
+ <artifactId>org.argeo.slc.sandbox.jemmytest</artifactId>
+ <name>SLC Sandbox JemmyTest</name>
+ <packaging>bundle</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.4.3</version>
+ <extensions>true</extensions>
+ <configuration>
+ <manifestLocation>
+ src/main/resources/META-INF
+ </manifestLocation>
+ <instructions>
+ <Bundle-SymbolicName>
+ ${pom.artifactId}
+ </Bundle-SymbolicName>
+ <Bundle-Activator>
+ org.argeo.slc.jemmytest.JemmyTestActivator
+ </Bundle-Activator>
+ <Export-Package>
+ org.argeo.slc.jemmytest.*
+ </Export-Package>
+ <Import-Package>
+ *,org.springframework.beans.factory.xml
+ </Import-Package>
+ <Require-Bundle>
+ org.argeo.slc.detached
+ </Require-Bundle>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.3</source>
+ <target>1.3</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration></configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles></profiles>
+ <dependencies>
+ <dependency>
+ <groupId>org.argeo.slc</groupId>
+ <artifactId>org.argeo.slc.detached</artifactId>
+ <version>${project.version}</version>
+ </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>2.0.8</version>
- </dependency>
+ <dependency>
+ <groupId>org.argeo.slc</groupId>
+ <artifactId>argeo-slc-agent</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.osgi.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.dep.jemmy</groupId>
- <artifactId>org.argeo.dep.jemmy.nb61</artifactId>
- </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>2.0.8</version>
+ </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
- </dependencies>
+ <dependency>
+ <groupId>org.argeo.dep.jemmy</groupId>
+ <artifactId>org.argeo.dep.jemmy.nb61</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
</project>
\ No newline at end of file
import org.apache.commons.logging.LogFactory;
import org.argeo.slc.detached.DetachedContext;
import org.argeo.slc.detached.DetachedStep;
-import org.argeo.slc.detached.DetachedStepAnswer;
-import org.argeo.slc.detached.DetachedStepRequest;
+import org.argeo.slc.detached.DetachedAnswer;
+import org.argeo.slc.detached.DetachedRequest;
import org.netbeans.jemmy.operators.JButtonOperator;
import org.netbeans.jemmy.operators.JFrameOperator;
import org.netbeans.jemmy.operators.JLabelOperator;
public class DummyStep implements DetachedStep {
private final static Log log = LogFactory.getLog(DummyStep.class);
- public DetachedStepAnswer execute(DetachedContext detachedContext,
- DetachedStepRequest detachedStepRequest) {
+ public DetachedAnswer execute(DetachedContext detachedContext,
+ DetachedRequest request) {
// Find components
JFrameOperator jFrameOperator = new JFrameOperator("HelloWorldSwing");
JButtonOperator jButtonOperator = new JButtonOperator(jFrameOperator,
"Button");
+ String label = request.getProperties().getProperty(
+ "jemmyTest.label");
JLabelOperator jLabelOperator = new JLabelOperator(jFrameOperator,
- "Hello World");
+ label);
// Execute actions
jButtonOperator.push();
String textAfterPush = jLabelOperator.getText();
log.info("textAfterPush=" + textAfterPush);
- return null;
+ DetachedAnswer answer = new DetachedAnswer(request,
+ "DummyStep passed!! textAfterPush=" + textAfterPush);
+ answer.getProperties().setProperty("jemmyTest.label",
+ textAfterPush);
+ return answer;
}
}
Bundle-Vendor: Argeo\r
Build-Jdk: 1.6.0\r
Bundle-Version: 0.11.1.SNAPSHOT\r
-Bnd-LastModified: 1222615501820\r
+Bnd-LastModified: 1222929009409\r
Bundle-Activator: org.argeo.slc.jemmytest.JemmyTestActivator\r
Bundle-ManifestVersion: 2\r
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt\r
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
- <bean id="jemmyTest" class="org.argeo.slc.jemmytest.DummyStep">
- </bean>
+ <bean id="jemmyTest" class="org.argeo.slc.jemmytest.DummyStep">
+ </bean>
- <bean id="executionServer"
- class="org.argeo.slc.detached.DetachedExecutionServerImpl">
- <property name="driver" ref="driver" />
- </bean>
-
- <bean id="driver"
- class="org.argeo.slc.detached.drivers.FileDriver">
- <property name="requestDir"
- value="file:${user.dir}/../sandbox/argeo.slc.jemmytest/local/detachedRequests" />
- </bean>
+ <bean id="executionServer"
+ class="org.argeo.slc.detached.DetachedExecutionServerImpl">
+ <property name="driver" ref="driver" />
+ </bean>
+
+ <bean id="driver"
+ class="org.argeo.slc.detached.drivers.FileDriver">
+ <property name="baseDir" value="file:${slc.workDir}/detached" />
+ </bean>
</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+ <import resource="classpath:/META-INF/spring/slc-detached.xml" />
+
+ <bean id="detachedTestDef"
+ class="org.argeo.slc.lib.detached.DetachedTestDefinition">
+ <property name="client" ref="driver" />
+ <property name="step" ref="jemmyTest" />
+ </bean>
+
+ <bean id="detachedTestData1"
+ class="org.argeo.slc.lib.detached.DetachedTestData">
+ <property name="values">
+ <map>
+ <entry key="jemmyTest.label" value="Hello World" />
+ </map>
+ </property>
+ <property name="expectedValues">
+ <map>
+ <entry key="jemmyTest.label" value="Pressed!!" />
+ </map>
+ </property>
+ </bean>
+
+ <bean id="detachedTestData2"
+ class="org.argeo.slc.lib.detached.DetachedTestData">
+ <property name="values">
+ <map>
+ <entry key="jemmyTest.label" value="Pressed!!" />
+ </map>
+ </property>
+ <property name="expectedValues">
+ <map>
+ <entry key="jemmyTest.label" value="Hello World" />
+ </map>
+ </property>
+ </bean>
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+</beans>
\ No newline at end of file
--- /dev/null
+\r
+## Loggigng\r
+# Slc\r
+log4j.logger.org.argeo.slc=DEBUG\r
+# Spring\r
+log4j.logger.org.springframework=WARN\r
--- /dev/null
+<project default="steps">
+
+ <target name="steps">
+ <slc.test>
+ <testDefinition bean="detachedTestDef" />
+ <testData bean="detachedTestData1" />
+ </slc.test>
+ <slc.test>
+ <testDefinition bean="detachedTestDef" />
+ <testData bean="detachedTestData2" />
+ </slc.test>
+ </target>
+
+ <property name="devBase" location="/home/mbaudier/dev/src" />
+ <property name="localRepo" location="/mnt/wind/dev/mavenLocal" />
+ <property name="argeo.slc.mavenBase" value="file:${localRepo}" />
+
+ <property name="execDir"
+ location="/home/mbaudier/dev/src/slc/sandbox/argeo.slc.jemmytest/" />
+
+ <target name="startDetached">
+ <echo message="Starting detached in ${execDir}..." />
+
+ <java dir="${execDir}" classname="org.argeo.slc.detached.launcher.Main">
+ <classpath>
+ <!-- Dev -->
+ <pathelement location="${devBase}/slc/org.argeo.slc.detached/target/classes" />
+ <pathelement location="${devBase}/slc/org.argeo.slc.detached.launcher/target/classes" />
+ <pathelement location="${devBase}/slc/sandbox/argeo.slc.testui/bin" />
+ <!-- Maven -->
+ <pathelement location="${localRepo}/org/springframework/spring-context/2.0.8/spring-context-2.0.8.jar" />
+ <pathelement location="${localRepo}/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" />
+ <pathelement location="${localRepo}/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" />
+ <pathelement location="${localRepo}/org/springframework/spring-beans/2.0.8/spring-beans-2.0.8.jar" />
+ <pathelement location="${localRepo}/springframework/spring-core/2.0.8/spring-core-2.0.8.jar" />
+ <pathelement location="${localRepo}/log4j/log4j/1.2.15/log4j-1.2.15.jar" />
+ <pathelement location="${localRepo}/org/apache/felix/org.apache.felix.main/1.2.1/org.apache.felix.main-1.2.1.jar" />
+ <pathelement location="${localRepo}/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar" />
+ <pathelement location="${localRepo}/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar" />
+ </classpath>
+ <sysproperty key="argeo.slc.mavenBase"
+ value="${argeo.slc.mavenBase}" />
+ <sysproperty key="felix.auto.start.1"
+ value="reference:file:${devBase}/slc/sandbox/argeo.slc.jemmytest/bin/ reference:file:${devBase}/slc/org.argeo.slc.detached/bin/ ${argeo.slc.mavenBase}/org/apache/felix/org.apache.felix.shell/1.0.2/org.apache.felix.shell-1.0.2.jar ${argeo.slc.mavenBase}/org/apache/felix/org.apache.felix.shell.tui/1.0.2/org.apache.felix.shell.tui-1.0.2.jar ${argeo.slc.mavenBase}/org/argeo/dep/jemmy/org.argeo.dep.jemmy.nb61/0.2.2/org.argeo.dep.jemmy.nb61-0.2.2.jar" />
+
+ </java>
+
+ <echo message="Started detached..." />
+
+ </target>
+</project>
+<!--
+/home/mbaudier/dev/src/slc/org.argeo.slc.detached.launcher/target/classes
+/home/mbaudier/dev/src/slc/org.argeo.slc.detached/target/classes
+/mnt/wind/dev/mavenLocal/org/springframework/spring-context/2.0.8/spring-context-2.0.8.jar
+/mnt/wind/dev/mavenLocal/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
+/mnt/wind/dev/mavenLocal/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
+/mnt/wind/dev/mavenLocal/org/springframework/spring-beans/2.0.8/spring-beans-2.0.8.jar
+/mnt/wind/dev/mavenLocal/org/springframework/spring-core/2.0.8/spring-core-2.0.8.jar
+/mnt/wind/dev/mavenLocal/log4j/log4j/1.2.15/log4j-1.2.15.jar
+/mnt/wind/dev/mavenLocal/org/apache/felix/org.apache.felix.main/1.2.1/org.apache.felix.main-1.2.1.jar
+/mnt/wind/dev/mavenLocal/org/apache/felix/org.apache.felix.shell/1.0.2/org.apache.felix.shell-1.0.2.jar
+/mnt/wind/dev/mavenLocal/org/apache/felix/org.apache.felix.shell.tui/1.0.2/org.apache.felix.shell.tui-1.0.2.jar
+/mnt/wind/dev/mavenLocal/org/apache/felix/org.apache.felix.bundlerepository/1.2.0/org.apache.felix.bundlerepository-1.2.0.jar
+/mnt/wind/dev/mavenLocal/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar
+/mnt/wind/dev/mavenLocal/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar
+/home/mbaudier/dev/src/slc/sandbox/argeo.slc.testui/bin
+
+felix.auto.start.1= \
+ reference:file:${user.dir}/../sandbox/argeo.slc.jemmytest/bin/ \
+ reference:file:${user.dir}/../org.argeo.slc.detached/bin/ \
+ ${argeo.slc.mavenBase}/org/apache/felix/org.apache.felix.shell/1.0.2/org.apache.felix.shell-1.0.2.jar \
+ ${argeo.slc.mavenBase}/org/apache/felix/org.apache.felix.shell.tui/1.0.2/org.apache.felix.shell.tui-1.0.2.jar \
+ ${argeo.slc.mavenBase}/org/argeo/dep/jemmy/org.argeo.dep.jemmy.nb61/0.2.2/org.argeo.dep.jemmy.nb61-0.2.2.jar
+
+-->
import junit.framework.TestCase;
-import org.argeo.slc.detached.DetachedStepRequest;
+import org.argeo.slc.detached.DetachedRequest;
import org.argeo.slc.detached.drivers.FileDriver;
public class DetachedTest extends TestCase {
public void testSendRequest() throws Exception {
FileDriver client = new FileDriver();
- File requestDir = new File("local/detachedRequests");
- requestDir.mkdirs();
- client.setRequestDir(requestDir);
+ File baseDir = new File("local/detached");
+ baseDir.mkdirs();
+ client.setBaseDir(baseDir);
- DetachedStepRequest request = new DetachedStepRequest();
+ DetachedRequest request = new DetachedRequest();
request.setUuid(UUID.randomUUID().toString());
- request.setStepRef("jemmyTest");
+ request.setRef("jemmyTest");
client.sendRequest(request);
}