From 0cf2fc4ab94cf537e5bc6d69e45a2b3263a972f3 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 3 Oct 2008 08:44:23 +0000 Subject: [PATCH 1/1] Start introducing detached ui git-svn-id: https://svn.argeo.org/slc/trunk@1692 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../org/argeo/slc/jemmytest/DummyStep.java | 13 +++++++ .../org/argeo/slc/jemmytest/MainFrame.java | 36 +++++++++++++++++++ .../argeo/slc/jemmytest/MainFrameLabel.java | 22 ++++++++++++ .../org/argeo/slc/jemmytest/TestDialog.java | 25 +++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/MainFrame.java create mode 100644 sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/MainFrameLabel.java create mode 100644 sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/TestDialog.java diff --git a/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/DummyStep.java b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/DummyStep.java index 3efbf746b..79f1d21b1 100644 --- a/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/DummyStep.java +++ b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/DummyStep.java @@ -7,6 +7,7 @@ import org.argeo.slc.detached.DetachedStep; import org.argeo.slc.detached.DetachedAnswer; import org.argeo.slc.detached.DetachedRequest; import org.netbeans.jemmy.operators.JButtonOperator; +import org.netbeans.jemmy.operators.JDialogOperator; import org.netbeans.jemmy.operators.JFrameOperator; import org.netbeans.jemmy.operators.JLabelOperator; @@ -20,12 +21,22 @@ public class DummyStep implements DetachedStep { JFrameOperator jFrameOperator = new JFrameOperator("HelloWorldSwing"); JButtonOperator jButtonOperator = new JButtonOperator(jFrameOperator, "Button"); + JButtonOperator jButtonStartOperator = new JButtonOperator( + jFrameOperator, "Start"); String label = request.getProperties().getProperty("jemmyTest.label"); JLabelOperator jLabelOperator = new JLabelOperator(jFrameOperator, label); // Execute actions jButtonOperator.push(); + jButtonStartOperator.push(); + + // Find some more components + JDialogOperator jDialogOperator = new JDialogOperator("TestDialog"); + JLabelOperator jLabelOperatorDialog = new JLabelOperator( + jDialogOperator, "Dialog Open"); + String textLabelDialog = jLabelOperatorDialog.getText(); + jDialogOperator.close(); // Performs checks String textAfterPush = jLabelOperator.getText(); @@ -34,6 +45,8 @@ public class DummyStep implements DetachedStep { DetachedAnswer answer = new DetachedAnswer(request, "DummyStep passed!! textAfterPush=" + textAfterPush); answer.getProperties().setProperty("jemmyTest.label", textAfterPush); + answer.getProperties().setProperty("jemmyTest.labelDialog", + textLabelDialog); return answer; } diff --git a/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/MainFrame.java b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/MainFrame.java new file mode 100644 index 000000000..581d406ab --- /dev/null +++ b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/MainFrame.java @@ -0,0 +1,36 @@ +package org.argeo.slc.jemmytest; + +import org.argeo.slc.detached.DetachedContext; +import org.argeo.slc.detached.DetachedRequest; +import org.argeo.slc.detached.ui.UiPart; +import org.netbeans.jemmy.operators.JButtonOperator; +import org.netbeans.jemmy.operators.JFrameOperator; +import org.netbeans.jemmy.operators.JLabelOperator; + +public class MainFrame implements UiPart { + private JFrameOperator frame = null; + private JButtonOperator button = null; + private JButtonOperator buttonStart = null; + private JLabelOperator label = null; + + public void init(DetachedContext context, DetachedRequest request) { + frame = new JFrameOperator("HelloWorldSwing"); + button = new JButtonOperator(frame, "Button"); + buttonStart = new JButtonOperator(frame, "Start"); + String labelStr = request.getProperties() + .getProperty("jemmyTest.label"); + label = new JLabelOperator(frame, labelStr); + } + + public void changeLabel() { + button.push(); + } + + public void openDialog() { + buttonStart.push(); + } + + public String getLabelText() { + return label.getText(); + } +} diff --git a/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/MainFrameLabel.java b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/MainFrameLabel.java new file mode 100644 index 000000000..d4fc4c3c4 --- /dev/null +++ b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/MainFrameLabel.java @@ -0,0 +1,22 @@ +package org.argeo.slc.jemmytest; + +import org.argeo.slc.detached.DetachedAnswer; +import org.argeo.slc.detached.DetachedContext; +import org.argeo.slc.detached.DetachedRequest; +import org.argeo.slc.detached.ui.UiStep; + +public class MainFrameLabel extends UiStep { + + protected DetachedAnswer executeUiStep(DetachedContext context, + DetachedRequest request) { + MainFrame mainFrame = (MainFrame) getUiPart(); + mainFrame.changeLabel(); + String textAfterPush = mainFrame.getLabelText(); + + DetachedAnswer answer = new DetachedAnswer(request, + "DummyStep passed!! textAfterPush=" + textAfterPush); + answer.getProperties().setProperty("jemmyTest.label", textAfterPush); + return answer; + } + +} diff --git a/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/TestDialog.java b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/TestDialog.java new file mode 100644 index 000000000..4e06b4a99 --- /dev/null +++ b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/TestDialog.java @@ -0,0 +1,25 @@ +package org.argeo.slc.jemmytest; + +import org.argeo.slc.detached.DetachedContext; +import org.argeo.slc.detached.DetachedRequest; +import org.argeo.slc.detached.ui.UiPart; +import org.netbeans.jemmy.operators.JDialogOperator; +import org.netbeans.jemmy.operators.JLabelOperator; + +public class TestDialog implements UiPart { + private JDialogOperator dialog = null; + private JLabelOperator label = null; + + public void init(DetachedContext context, DetachedRequest request) { + dialog = new JDialogOperator("TestDialog"); + label = new JLabelOperator(dialog, "Dialog Open"); + } + + public String getLabelText() { + return label.getText(); + } + + public void close() { + dialog.close(); + } +} -- 2.39.2