Sure you can. There are lots of great examples out on the web like this
http://www.pspaeth.de/index.php/techarea/43-java/72-dialogs-in-groovy.htmlthat will run from a Groovy script step. Modifying that example like this works for me:
import groovy.swing.SwingBuilder
import java.awt.FlowLayout as FL
import javax.swing.BoxLayout as BXL
def s = new SwingBuilder()
s.setVariable('myDialog-properties',[:]) //-- 1 --//
def vars = s.variables //-- 2 --//
def dial = s.dialog(title:'Get Credentials',id:'myDialog',modal:true, pack:true, show:true) { //-- 3 --//
panel() {
boxLayout(axis:BXL.Y_AXIS)
panel(alignmentX:0f) {
flowLayout(alignment:FL.LEFT)
label('User ID')
textField(id:'userid',columns:10) //-- 4 --//
}
panel(alignmentX:0f) {
flowLayout(alignment:FL.LEFT)
label('Password')
textField(id:'password',columns:10) //-- 4 --//
}
panel(alignmentX:0f) {
flowLayout(alignment:FL.LEFT)
button('OK',preferredSize:[80,24],
actionPerformed:{
vars.dialogResult = 'OK' //-- 5 --//
dispose()
})
button('Cancel',preferredSize:[80,24],
actionPerformed:{
vars.dialogResult = 'cancel'
dispose()
})
}
}
}
log.info 'and the result is: ' + vars.dialogResult
log.info 'the userID entered is: ' + vars.userid.text
log.info 'password is: ' + vars.password.text
testRunner.testCase.testSuite.setPropertyValue("ID",vars.userid.text)
testRunner.testCase.testSuite.setPropertyValue("PW",vars.password.text);