Hi Eric, Try to make an asychronous "click", then define a wait condition to wait till the dialog is opened:
-------------------------------------------- UIThreadRunnable.asyncExec( bot.getDisplay(), new UIThreadRunnable.VoidResult() { public void run() { bot.menu("File").menu("Foo...").click(); } } ); bot.waitUntil( new DefaultCondition() { public boolean test() throws Exception { return bot.shell("Foo title") != null; } public String getFailureMessage() { return "No dialog"; } } ); -------------------------------------------- Hope that helps, Stefan [EMAIL PROTECTED] schrieb: > Hello everybody, > > I am very enthusiast about the framework and I already have a question. > In my application, I have a command that have a default > org.eclipse.core.commands.Handler. > It opens a dialog like this: > @Override > public Object execute(final ExecutionEvent event) throws ExecutionException > { > final FooWizard wizard = new FooWizard(); > wizard.setWindowTitle(Messages.getString("Foo.title")); > final WizardDialog dialog = new WizardDialog( > HandlerUtil.getActiveShell(event).getShell(), > wizard > ); > dialog.setTitle(Messages.getString("Foo.title")); //$NON-NLS-1$ > dialog.create(); > dialog.open(); > return null; > } > > Tested with the code: > bot.menu("File").menu("Foo...").click(); > bot.shell("Foo title").activate(); > ... (testing dialog) ... > > The click method execute the command which forwards to the active handler. > But the execution is stopped at dialog.open() since the command framework is > synchronous. > > Do you have any ideas how could I test a such synchronous dialog ? > > I already tried to async the dialog but in this case, a timeout occurs and > the dialog is displayed after the end of the test (!). > Display.getDefault().asyncExec(new Runnable(){ > public void run() { > final FooWizard wizard = new FooWizard(); > wizard.setWindowTitle(Messages.getString("Foo.title")); > final WizardDialog dialog = new WizardDialog( > HandlerUtil.getActiveShell(event).getShell(), > wizard > ); > dialog.setTitle(Messages.getString("Foo.title")); //$NON-NLS-1$ > dialog.create(); > dialog.open(); > } > }); > > Thank you, > - Eric. > > -- > Target platform: Eclipse 3.3.2 > SWTBot: SWTBot eclipse 1.2.0.883-dev > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > SWTBot-users mailing list > SWTBot-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/swtbot-users > http://swtbot.org/ - a functional testing tool for SWT/Eclipse > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ SWTBot-users mailing list SWTBot-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/swtbot-users http://swtbot.org/ - a functional testing tool for SWT/Eclipse