Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Emm... It is quite interesting question; </p> <p>I suppose the question contains less really required details <em>especially the robot integration and IO solutions details</em> so I cannot just give you a proper answer... </p> <p>Anyway, I'll try to analyze the problem in voice a little bit in my way...</p> <p><strong>First</strong>. According to your screenshot comments, I can notice that all <em>"30s pauses or so"</em> occur on some, as I can get it, stream reading process <em>"select/search"</em> (your app <strong>gets</strong> some data to output etc). So maybe it is much deeper than you think because it is probably thread problem; </p> <p><em>I couldn't find the <a href="http://docs.codehaus.org/display/FEST/Accessing+Swing+Components+in+the+EDT" rel="nofollow">GuiQuery/GuiTask/GuiActionRunne</a> classes usage in your code snippets so I may suggest the "synch problem" may take place in the mentioned case...</em></p> <p><strong>Second</strong>. OK... If it is still the thread problem I may suggest the robot and IO solutions are both in some ONE thread (the Main thread or something) because, according to your tips as <em>"At times 0.39s to 0.40 a set of operations are performed. These are done when there is one row in the JXTreeTable."</em> ... GUI is waiting for some process to be completed...</p> <p><strong>Third</strong>. And again... According to <a href="http://deors.wordpress.com/2011/04/04/fest-swing/" rel="nofollow">this issue</a> as </p> <blockquote> <p>"It is recommended to turn on an automated check to verify that all Swing components updates are done in Swing’s EDT (Event Dispatcher Thread). For those unfamiliar with the EDT, it is responsible for handling and updating all Swing widgets in a separate thread, causing that the application never loses responsiveness to user gestures (just in short, more about the EDT here). To do that, we add the following hook to the test:"</p> </blockquote> <pre><code>import org.fest.swing.edt.FailOnThreadViolationRepaintManager; import org.junit.BeforeClass; ... @BeforeClass public static void setUpOnce() { FailOnThreadViolationRepaintManager.install(); } </code></pre> <blockquote> <p>Next step is to launch the frame or dialog. As JUnit runs in its own thread, we must launch the frame or dialog through Fest, to ensure, again, that EDT is properly used:</p> </blockquote> <pre><code>import org.fest.swing.edt.GuiActionRunner; import org.fest.swing.edt.GuiQuery; import org.fest.swing.fixture.FrameFixture; import org.junit.Before; ... private FrameFixture testFrame; private AllTypesFrame frame; ... @Before public void setUp() { frame = GuiActionRunner.execute(new GuiQuery&lt;AllTypesFrame&gt;() { protected AllTypesFrame executeInEDT() { return new AllTypesFrame(); } }); testFrame = new FrameFixture(frame); testFrame.show(); } </code></pre> <p>... makes me think it is maybe the <em>"thread-problem"</em> which is described in the <strong>First</strong> and <strong>Second</strong> tips...</p> <p>so, as a conclusion, I can say that maybe you have to multi-thread your test a little more because it is obviously some kind of synch problem...</p> <p>P.S. @sethu, before you start your debugging I want to point a little... I still suspect threads conflict is taking place here (see my previous tips) because, as I may notice, your code snippets are showing static expressions usage to invoke methods like <code>Pause.pause(...)</code> or <code>FinderUtilities.getDialogWithTitle(...)</code> etc I cannot see the whole project architecture so it is hard to analyze according the represented bits but it is pretty clear the <strong>"manual testing"</strong> goes fine because action listeners react in real time but <strong>fest testing</strong> does the annoying delays because it uses some "timer" to countdown until a click emulation occurs etc and of course it is a background process which needs a separate thread... Watch debugging carefully maybe somewhere in your code UI thread and fest thread do conflict (see static methods, thread.sleep etc) the points where fest thread could block (override) the UI's one... :S By the way what method <code>Pause.pause(...)</code> does?</p> <p>P.P.S. <em>If you have some additional information please comment my answer</em></p> <hr> <p>Report if my answer helps you</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload