Hi all. I'm using TC11 with VBScript and I'm trying to know the popup menu item is checked or unchecked. I studied Checking Menu Item's State but the structure of Notepad is different compare with my application. This is what I get from Additional Info after I ran the keyword test:
Sub Test Dim w Set w = Sys.Process("RobotArm").Window("Afx:00007FF6A9B70000:0", "RobotArm", 1).Window("Afx:00007FF6A9B70000:b:0000000000010003:0000000000000006:0000000000000000", "", 1).Window("AfxWnd90u", "Image View 1", 10) If w.PopupMenu.Items(8).Checked Then Call Log.Message ("The ""Light"" option is checked.") Else Call Log.Message ("The ""Light"" option is unchecked.") End If End Sub
Solved! Go to Solution.
a) I do not see anything in your code that supposed to open popup menu indeed (right-click, or pressing the menu key, or ...);
b) To exclude the dynamic part of window class name (Afx:...) you may substitute it with asterisk (e.g.: Afx:00007FF6A9B70000:0 => Afx:00007FF6A9B70000*).
However, considering the text of the error message, first point seems to be the real reason to me. If it were the second point, I would expect something like 'Window ... was not found'.
There is an action in keyword test of right click on AfxWnd90u to open the popup menu, then I add the script and get some message to verify is the script really can check the menu state or not.
After I applied the asterisk and these are what shown in test log.
The menu item 'Light' was clicked. (add. info show the tested object is the PopupMenu)
Cannot obtain the popup menu. (add. info show the tested object is Image View 1)
Is it means that actually the script is testing the wrong object? Maybe due to this code?
Could you please explain a bit more about possible states of the menu item? That would be great if you can prepare a sample application with this control - in this case, the community can play with it and find a solution.