Environment
Situation
SecureLogin Wizard does not detect fields on the "Change Password" screen in NetIQ IDM UserApp.
NSL7 wizard sees the change password page as one field in RBPM UserApp
NSL7 wizard cannot differentiate between fields on UserApp change password screen.
"The selected control field is invalid" returned when pointing at password fields with the Wizard.
The NSL7 Wizard detect and acts upon the UserAPP login page, but not the change password page.
Navigating to "old password" field with keystrokes takes 25 tabs with IE, 17 tabs with FireFox.
Script configured through the Wizard using keystrokes does not execute
Resolution
Manally create a new application definition for the Change password page. Steps:
1. Using either the workstation "manage logins" utility, or the directory utility (iManager, MMC, or SLManager), right click on "Applications" and select "New."
2. Click the button for "New Application Definition,"
3. From the drop down box for "Type," select "Web Wizard Script."
NOTE: If you select the wrong type the script will not work.
4. Enter the URL for UserApp, a description of your choice and click OK.
5. Go to the definition tab and copy in the script below.
6. Click OK.
### Script for IDM UserApp Login and Password Change Screens ###
##########################################################
#=============================================================
# EXE/ID: (URL for Password change page)
# Name: UserApp Password Change
# Type: Web (Type Web Wizard, but manually created)
# Version: 1
# Created By: dsailesh
#=============================================================
Site "jquery" -initial
MatchForm #1 -name "loginForm"
MatchField #1:3 -type "text" -name "userName"
MatchField #1:4 -type "password" -name "password"
MatchField #1:5 -type "submit" -name "login"
EndSite
SetPrompt "Username:" "
FocusInput #1:3
TextInput #1:3 -value "$username"
FocusInput #1:4
TextInput #1:4 -value "$password"
SetPrompt "Please edit your login variables."
FocusInput #1:5
PressInput #1:5
EndScript
## EndSection: "Login Form"
## BeginSection: "Login Form"
Site "jquery" -recent 5000
MatchForm #1 -name "loginForm"
MatchField #1:3 -type "text" -name "userName"
MatchField #1:4 -type "password" -name "password"
MatchField #1:5 -type "submit" -name "login"
EndSite
if -exists $username
Displayvariables $username $password
Endif
SetPrompt " Username:"
TextInput #1:3 -value "$username"
SetPrompt "Password:"
TextInput #1:4 -value "$password"
SetPrompt "Please edit your login variables."
FocusInput #1:5
PressInput #1:5
EndScript
## EndSection: "Login Form"
## BeginSection: "Login Form"
Site "jquery" -subsequent
MatchForm #1 -name "loginForm"
MatchField #1:3 -type "text" -name "userName"
MatchField #1:4 -type "password" -name "password"
MatchField #1:5 -type "submit" -name "login"
EndSite
MessageBox "Do you wish to re-login?" -YesNo ?Result -DefaultNo
If ?Result Eq "No"
EndScript
EndIf
SetPrompt "Username:"
TextInput #1:3 -value "$username"
SetPrompt "Password:"
TextInput #1:4 -value "$password"
SetPrompt "Please edit your login variables."
FocusInput #1:5
PressInput #1:5
EndScript
## EndSection: "Login Form"
## EndSection: "Login Form Subroutines"
Site "Change Password" -initial -events create
MatchForm #1 -noform
MatchField #1:1 -type "password"
MatchField #1:2 -type "password"
MatchField #1:3 -type "password"
EndSite
ReLoadPlat
ChangePassword ?passwordnew "Enter"
#MessageBox "Initial"
TextInput #1:1 -value "$password"
SetPrompt "passwordnew"
FocusInput #1:2
TextInput #1:2 -value "?passwordnew"
SetPrompt "passwordnew"
FocusInput #1:3
TextInput #1:3 -value "?passwordnew"
SetPrompt "Please edit your login variables."
#MessageBox "Initial"
Type -raw \t
Type -raw \n
If ?ChangeResult Eq "Yes"
Set $password ?passwordnew
EndIf
EndScript
## EndSection: "Change Password Form"
## BeginSection: "Change Password Form"
Site "Change Password" -recent 5000 -events create
MatchForm #1 -noform
MatchField #1:1 -type "password"
MatchField #1:2 -type "password"
MatchField #1:3 -type "password"
EndSite
ReLoadPlat
If ?Result Eq "No"
EndScript
EndIf
#MessageBox "Recent"
ChangePassword ?passwordnew "Enter"
SetPrompt "Password:"
TextInput #1:1 -value "$password"
SetPrompt "passwordnew"
FocusInput #1:2
TextInput #1:2 -value "?passwordnew"
SetPrompt "passwordnew"
FocusInput #1:3
TextInput #1:3 -value "?passwordnew"
SetPrompt "Please edit your login variables."
Type -raw \t
Type -raw \n
MessageBox "Has the password been successfully changed?" -YesNo ?ChangeResult
If ?ChangeResult Eq "Yes"
Set $password ?passwordnew
EndIf
EndScript
## EndSection: "Change Password Form"
## BeginSection: "Change Password Form"
Site "Change Password" -subsequent -events create
MatchForm #1 -noform
MatchField #1:1 -type "password"
MatchField #1:2 -type "password"
MatchField #1:3 -type "password"
EndSite
ChangePassword ?passwordnew "Enter"
#MessageBox "Subsequent"
TextInput #1:1 -value "$password"
SetPrompt "passwordnew"
FocusInput #1:2
TextInput #1:2 -value "?passwordnew"
SetPrompt "passwordnew"
FocusInput #1:3
TextInput #1:3 -value "?passwordnew"
SetPrompt "Please edit your login variables."
Type -raw \t
Type -raw \n
MessageBox "Has the password been successfully changed?" -YesNo ?ChangeResult
If ?ChangeResult Eq "Yes"
Set $password ?passwordnew
EndIf
EndScript
## EndSection: "Change Password Form"
## EndSection: "Change Password Form Subroutines"