How to check menu item's state that popup by right click
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:
(Sys.Process("RobotArm").Window("Afx:00007FF6A9B70000:0", "RobotArm", 1).Window("Afx:00007FF6A9B70000:b:0000000000010003:0000000000000006:0000000000000000", "", 1).Window("AfxWnd90u", "Image View 1", 10).PopupMenu)
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'.
/Alex [Community Champion]
[Community Champions] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Champions]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Champion] signature is assigned on quarterly basis and is used with permission by SmartBear Software.
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.
SmartBear Community and Education Manager