Escolar Documentos
Profissional Documentos
Cultura Documentos
India
USA
AppPoint Software Solutions,
59, Grist Mill Road,
Littleton, MA 01460.
www.apppoint.com
An ISO 9001:2000 Company
TABLE OF CONTENTS
Introduction .................................................................................. 3
Win32 Controls – ........................................................................... 5
Proxies for a Win32 Control .......................................................... 5
ActiveX controls............................................................................. 6
Proxies for an ActiveX Control....................................................... 6
ActiveX control hosted in an MFC application................................ 6
ActiveX control hosted in an ATL application ................................ 6
Java and .NET Controls................................................................... 7
Conclusion .................................................................................... 7
About AppPoint.............................................................................. 8
An ISO 9001:2000 Company
Introduction
Research indicates that cost of a software defect would be much higher then
what it would if the defect was found much earlier in development process. In
order to keep this cost low, companies have been adopting tools which ensure
reliable quality assurance at all stages of their product development lifecycle.
Recognizing and negotiating with components used by the solution under test
forms the basis for test functionality. In cases where these components are
GUI elements, uniquely recognizing these and negotiating with them is critical
for reliable testing.
• Win32
• ActiveX
• .NET, and
• Java controls
Robot Proxies for each of these control categories are components which are
capable of negotiating with the control and registered with Robot to act as a
bridge between it and the control. In general, Robot proxies negotiate with the
control to obtain following primary information,
• Unique Name of any object at a given point within the control, and
• Bounds of the object,
Depending upon the type of the proxy, proxies would use varying mechanism
to negotiate with the controls. Below section briefly summaries the proxy
mechanism for each of the above types of controls and their limitations.
An ISO 9001:2000 Company
Win32 Controls –
These are packaged HWND based controls which are distributed in the form of
control libraries. These controls could either be simple controls or nested
controls. There are 2 flavors of these controls:
1. MFC based controls
a. Stingray Grid Control
b. Dundas Grid controls, etc
2. Non-MFC based custom controls
a. VB User Control
In order to enhance Robots ability to negotiate with a win32 control one would
have to develop a Win32 Proxy for the control. A Win32 proxy is a COM
component which implements Microsoft’s Active Accessibility Interface (MSAA)
in addition to certain custom interface published by IBM, Rational Software.
Implementing a Win32 proxy requires access to the header files and library for
the control. Optionally having access to source code of the control would speed
up the process of implementing the proxy and also ensures better design and
testability of the proxy.
With option #1, the control and the proxy have to agree upon certain
messaging mechanism. This option is suitable for a control whose source code
is available and where the end user is OK with modifying the control source to
add additional message handlers. AppPoint would work closely with the end
user in implementing this mechanism.
Note:
In some cases, MFC architecture makes it impossible for the proxy to get
access to the controls internal representation (as CWnd derived object) using
CWnd::FromHandlePermanent API. In these cases, proxy mechanism requires
that the internal representation (instance of the control) be exposed to the
proxy by way of a property of the HWND object. This is done by making a call
to ::SetProp API against the HWND object by the application designer. The
property name is something which the proxy and the control would agree
upon.
ActiveX controls
Due to the fact that ATL framework wraps each of the ActiveX control by an
ATLHost component, “SQAOTestControl” needs to be dynamically embedded
inside these host.
An ISO 9001:2000 Company
Conclusion
Based on AppPoint’s expertise with developing proxies below table provides a
birds eye view of can and can’t dos of Robot’s proxy mechanism.
•
Limitations Win32 ActiveX .NET JAVA
Modification to AUT by way of SetProp √**
call.
Use of Rational Test Control √***
Robot does not use the proxy to get object information during drag/drop
operation. With Win32 proxy mechanism, object property values are limited to
data types supported by a VARIANT. All other properties like, color, font, etc
are recognized in their string format.
With ActiveX proxies, if the number of nested objects are large (for e.g. in a
Grid, ever cell is treated as a nested
An ISO 9001:2000 Company
About AppPoint
AppPoint Software Solutions is a member of prestigious IBM Partner world for
Developers specializing in software development tools and technology.
AppPoint has extensive expertise with developing proxies for all the platforms
supported by Robot. AppPoint has so far developed following proxies for clients
around the world,
ActiveX Proxies –
• ComponentOne
o FlexGrid Control
• VB User Control
Win32 Proxies –
• Stingray
o Grid Control
o Tree Control
• Dundas Software
o Ultra Grid Control
.NET Proxies –
• ComponentOne
o FlexGrid Control
• DevComponents
o DotNetBar
o Outlook SideBar
• Infragistics
o UltraWinTree
o Grid Control
o Status Bar
o ComboBox