When I call uigetdir, how can I enter a directory path using Java Robot?

1 view (last 30 days)
I'm trying to use Java Robot to enter a directory path into the "Select Directory" pop-up that appears when uigetdir is called.
I've tried the following code but the robot "types" the letter h before the pop-up appears and the letter i appears after the pop-up is manually closed.
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
robot = Robot();
robot.keyPress(KeyEvent.VK_H);
robot.keyRelease(KeyEvent.VK_H);
uigetdir;
robot.keyPress(KeyEvent.VK_I);
robot.keyRelease(KeyEvent.VK_I);
What I would want is the robot to type in hi in the "Select Directory" pop-up in the "File Name" field.
I really appreciate any help you can provide.

Accepted Answer

Jan
Jan on 6 Mar 2013
It is a strange and indriect approach to let the robot remote-control the file selection dialog. If you use a TIMER to let the robot click during the UIGETDIR dialog is open, further timing problems may occur. Therefore I strongly recommend to use another approach. What do you actually want to achieve?
  1 Comment
Cinimod
Cinimod on 6 Mar 2013
I am trying to automate testing a GUI and for this one test case, one of the first steps involves clicking on a "Load File" button. The button uses a callback that eventually opens the dialog box for selecting a directory (via the uigetdir function).
In order to select the file I can either browse to the file via this dialog box or I can type in the full file path in the dialog box's "File Name" space.
For the automated test run, I can imitate clicking on the "Load File" button by using a callback function in my test script. When I do this, the dialog box opens up, but at this point, I am unsure how to select a file via automation.

Sign in to comment.

More Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!