Each action in robot is just like you typing on keyboard. So for a tab, you need both
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
If you write your code to do multiples of the above with a robot.delay(2000) you should see the highlighted area change every 2 seconds.
What I would do, is manually run your test, and when the certificate window opens, count how many tabs it takes to get to the button you want to click. Repeat the the two actions above that number of times.
I use the following in a keyword for ntlm login for CRM in our app. Don’t forget you will need to import:
import java.awt.Robot
import java.awt.Toolkit
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection
import java.awt.event.KeyEvent
def loginAuthenticate(String username, String password) {
def modifyCSVFile = new ModifyCSVFile()
if (password == "default") {
password = modifyCSVFile.GetkeyValue('CRMCommonPwd')
}
String browser = DriverFactory.getExecutedBrowser().getName()
boolean IE = false
if (browser.contains('IE')) {
IE = true
}
println 'Browser: ' + browser
Robot robot = new Robot();
robot.setAutoDelay(250);
StringSelection ss = new StringSelection(username);
Toolkit toolkit = Toolkit.getDefaultToolkit()
Clipboard clipboard = toolkit.getSystemClipboard().setContents(ss, null);
robot.delay(1000);
if (IE) {
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
ss = new StringSelection(password);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
if (IE) {
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
}
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}