Hi,
Thanks in advance.
We are using qtp 9 and trying to click on a toolbar button in the ultratoolbar.
We used .NET spy and were able to see some properties like Enabled = true.for all the buttons..
But we are not able to change any value in them.
Is there any way we can click the button in the ultra tool bar.
There are some 8 buttons and we want to clcik on the first button.
We planned to disable the other buttons and keep the first button enabled and use the firevent click in the .net spy for toolbarmanager.
Since we are not able to set the enabled property to false,it is not working for us.
Please help us in this.
Thanks,
Kala
Is there any toolclick or click events on ultrawintoolbars.buttonTool? All I see is toolclick event on ultratoolbarmanager that passes Infragistics.Win.UltraWinToolbars.ToolClickEventArgs as parameter, but this toolclick method is not accessible to QTP, So is there any UltraToolBarManager.UltraToolbar.Tools(0).click event or similar event that can be used from dev side to expose it to QTP?
thank you
It sounds like we had a misuderstanding here, it sounded as if you wanted to be able to set a Enabled property. If all you want to do is click on a tool, then we have a number of methods for that, varying on what type of tool collection the tool is on.
All versions of Net/Test Advantage
Normal Toolbar - ClickToolbarTool(oToolbar, oTool)
Net/Test Advantage 2006 Volume 3
Ribbon - ClickRibbonTool(sRibbonTab, oTool)
Application Menu - ClickApplicationMenuTool(sAppMenuArea, oTool)
QuickAccessToolbar(QAT) - ClickQATTool(oTool)
Net/Test Advantage 2007 Volume 1
Ribbon Tab Item - ClickTabItemToolbarTool(oTool)
MiniToolbar - ClickMiniToolbarTool(oTool)
Net/Test Advantage 2007 Volume 3
Navigation Toolbar - ClickNavToolbarTool(oTool)
Hi
If the toolclick method is not exposed and if we can’t access it? Is there any other method that we can invoke the click using .net spy on QTP ?
Hi Kala,
While Mercury's QuickTest Professional(QTP) does expose the Object model such that you can manipulate an object if it is absolutely required, it is highly recommended if you need to set a property that we do not explicitly expose through our proxy for QTP, you should have your developer expose a means to manipulate it.
This also coincides with the general practices and expectations of testing products such as QTP that tests the User Interaction (UI) layer of your application. Which is if the state you are trying to test is not attainable via the UI, then there would be no reason to test that state with a UI testing tool.
That being said, it is possible to both access and set public properties of an object through the use of QTP. It will require knowledge of both our NetAdvantage object model, as well as information about the internals of your applications Tool structure, and likely a lot of trial an error testing as there will be no intellisense and QTP is not forgiving. Also to my knowledge, and I could be wrong as this is more about QTP's internal specifics that I am not an expert on, but QTP does not appear to offer a means to access indexed properties directly such as in the case of Tools[0].Key. But most of our collection objects offer methods to allow you to work around this limitation.
For our object model, I can direct you to our Online Help, which should get your through most of the hurdles.
So a script similar to this would be able to set a tool's Enabled property to false: