Posted by Albert Gareev on Nov 12, 2009
All related posts: Reference Page – GP/QTP Automation Documentation Microsoft Dynamics Great Plains Dexterity Programmer’s Guide: http://mbs.microsoft.com/downloads/public/GP90Docs/Prgv2.pdf Refer to “Part 7: Software Engineering, Chapter 34: “Testing Your Application”. Microsoft Dynamics Great Plains DexterityMacro System in “Recording Test Cases” document: ...
Posted by Albert Gareev on Nov 09, 2009
All related posts: Reference Page – GP/QTP Automation The problem Those who tried sanScript code examples on their windows/objects probably noticed that Great Plains refuses to execute some instructions referring to certain objects even if they were successfully mapped with Dexterity GUI Mapping Script or with GUI Capture Script. And while highlighting window controls you may see that some […] ...
Posted by Albert Gareev on Oct 26, 2009
SanScript, Visual Basic, and VBScript functions implementing the “Highlight in Application” feature as in QTP Object Repository Manager. All related posts: Reference Page – GP/QTP Automation VBA/SanScript function – put in your Excel VBA macro file Note. Ignores sanScript errors VBScript function – put as Dexterity Interface Class method Note. If you use it as an embedded function don’t […] ...
Posted by Albert Gareev on Oct 25, 2009
Parent page: Service Functions – System (QTP, VBScript) Use FileSystemObject.GetFile method to obtain a File object. Argument should be a full path string. Set FSO = CreateObject(“Scripting.FileSystemObject”) Check if the file exists first. When to use it? There is a variety of utility tasks related to it: get parent folder, create another file in the same folder, create another […] ...
Posted by Albert Gareev on Oct 24, 2009
Parent page: Service Functions – System (QTP, VBScript) Use FileSystemObject.FileExists method. Argument should be a full path string. When to use it? Always before trying to access the file (delete, rename, or read from). Does file format matter? No. It could be text file, excel spreadsheet, bitmap, binary file, – anything. Just make sure you […] ...
Posted by Albert Gareev on Oct 17, 2009
Parent page: Service Functions – Excel (QTP, VBScript) Description Check the file exists – Create an instance of Excel by using COM – open (load) file ...
Posted by Albert Gareev on Oct 12, 2009
A script capturing Dexterity objects (both GUI and non-GUI) contained within the window. Great Plains application is required to be up with the particular window invoked and activated. All related posts: Reference Page – GP/QTP Automation Programming language and tool: VBScript / QTP. The script produces an output as XML file with the structure similar to QTP object […] ...
Posted by Albert Gareev on Oct 02, 2009
In the code examples I present I often refer to routine functions. In my framework I have specialized libraries to call from. In my blog I maintain the similar structure. Using built-in QTP-XML Objects and Functions Returns reference of XML Element Returns text value of XML Element Returns reference of XML Attribute Returns text value of […] ...
Posted by Albert Gareev on Oct 01, 2009
In the code examples I present I often refer to routine functions. In my framework I have specialized libraries to call from. In my blog I maintain the similar structure. Matching string with a pattern (Regular Expression, RegEx) Replace pattern(s) in a string Number conversion and initialization with a default value Initialize string with […] ...
Posted by Albert Gareev on Sep 28, 2009
At Pingdom Tools you can submit your web-page address and almost instantly get stats reported. What it does? The Full Page Test loads a complete HTML page including all objects (images, CSS, JavaScripts, RSS, Flash and frames/iframes). It mimics the way a page is loaded in a web browser. The load time of all objects is […] ...
Posted by Albert Gareev on Sep 25, 2009
All related posts: Reference Page – GP/QTP Automation The following object implements interface from QTP side. Function Libary Source Code Used resources: Service Functions – String (QTP, VBScript) Declare and initialize: ...
Posted by Albert Gareev on Sep 23, 2009
All related posts: Reference Page – GP/QTP Automation VBScript limitation Since VBscript supports only Variant type attempts to use variable in a COM call with an argument defined as “[in, out] BSTR * “ reasonably end with “Type mismatch” error. This error is generated by the COM object itself rather then VBscript interpreter since the object gets string […] ...
Posted by Albert Gareev on Sep 21, 2009
All related posts: Reference Page – GP/QTP Automation General concept The Application object provides only a few methods for simulation of GUI interaction required in Test Automation. However, ExecuteSanScript method allows overcoming of that limitation. The piece of sanScript code pre-written or dynamically generated could be passed-in to Microsoft Dynamics GP runtime engine, and compiled and executed […] ...
Posted by Albert Gareev on Sep 15, 2009
Parent page: Test Automation Problems Support and Feedback Business logic investigation, test case design, and test script programming are distinct activities. A professional automation engineer is capable of carrying out the all three, however the overall progress will slowdown. Since test automation project often starts when automated testing results are already needed there is no […] ...
Posted by Albert Gareev on Sep 14, 2009
Parent page: Test Automation Problems Requirements Trying to do something without understanding what you are supposed to get often produces unexpected results. With regards to computer software the expectations must be even more precise and specific, as all the functionalities are built from atomic instructions executed by a machine. Test Automation, as a software development […] ...
Posted by Albert Gareev on Sep 10, 2009
All related posts: Reference Page – GP/QTP Automation Documentation Microsoft Dynamics Great Plains Continuum API Guide (http://mbs.microsoft.com/downloads/public/GP90Docs/ContinuumAPIGuide.pdf) is the only main published document, which is pretty short though. Many of available functionalities are just mentioned or briefly referenced but not documented in details. Exploring DLL library directly I was able to retrieve more details on ...
Posted by Albert Gareev on Sep 09, 2009
All related posts: Reference Page – GP/QTP Automation Purpose: extract object descriptions from Dexterity Dictionary and create custom XML-based GUI Map file for QTP. Used resources: Service Functions – XML (QTP, VBScript) ...
Posted by Albert Gareev on Sep 07, 2009
All related posts: Reference Page – GP/QTP Automation Dexterity Objects Hierarchy Internally, Dexterity objects have the following hierarchy: Application Forms Windows Window Fields (input boxes, check/radio buttons, buttons, etc.) The hierarchy is stored in the Dictionary file. Visually, Dexterity objects are presented as: Panels Dialogs GUI Controls (input boxes, check/radio buttons, buttons, etc.) In order to use […] ...
Posted by Albert Gareev on Sep 03, 2009
Is looking at the back-end useful for black-box functional testing? Do you want to explore all properties and methods of COM object you use in your Automation? Do you want to know (and, also, be able to modify) all COM libraries installed on your system? – If yes, you will probably want to use (or […] ...
Posted by Albert Gareev on Sep 01, 2009
All related posts: Reference Page – GP/QTP Automation Overview: COM and Automation COM, Component Object Model, is Microsoft framework for developing and supporting program component objects. Whereas Microsoft’s Object Linking and Embedding (OLE) provides services for the compound document that users see on their display, COM provides the underlying services of interface negotiation, life cycle management (determining […] ...
Posted by Albert Gareev on Aug 27, 2009
Area of use XML Documents A-Z Platform (OS) Windows Vendor Microsoft Community Price Free Usability (1-5, 5 – Best) 5 Link http://www.microsoft.com/downloads/details.aspx?familyid=72d6aa49-787d-4118-ba5f-4f30fe913628&displaylang=en Some time ago I was looking for a simple but powerful visual XML editor tool to introduce a “front-end” of my model-based keyword-driven test automation framework to non-technical team ...
Posted by Albert Gareev on Aug 26, 2009
Dot NET GUI System.Windows.Forms standard GUI objects Successfully recognized and mapped by QTP Online reference: http://msdn.microsoft.com/en-us/library/system.windows.forms.aspx System.Windows.Forms custom GUI objects Successfully recognized by QTP but mapped as generic object class “swfObject”. Hence the limitations operating it. However, each object and its custom methods could be inspected manually (with Object Spy) and ...
Posted by Albert Gareev on Aug 24, 2009
All related posts: Reference Page – GP/QTP Automation 1) Automation Requirements Summary Automated Testing solution should be open, scalable, robust, and friendly for the continuous maintenance Test Data model should be open, scalable, and extendable. All the settings must be customizable without code changes. Test Case scripts dependency on a specific spreadsheet or file structure should ...
Posted by Albert Gareev on Aug 20, 2009
Custom function implementing a more advanced synchronization point. The function will wait for the object to become existing and enabled, or to disappear (not existing). The maximum time to wait could be defined or taken by default. Used resources: Anti sleep function (QTP, VBScript, MercuryTimer, DeviceReplay) Service Functions – String (QTP, VBScript) ...
Posted by Albert Gareev on Aug 18, 2009
Sometimes a PC goes to sleep, launches screensaver or locks the desktop during a long synchronization periods or other GUI inactivity periods. Adding the function below makes the script periodically moving mouse to avoid breaking of the execution. Place the call to the function within your time-consuming loops and custom synchronization functions. To improve performance […] ...
Posted by Albert Gareev on Aug 13, 2009
Parent page: Test Automation Problems Robustness Automated Testing is about delivering test results – on time, within the Test Phase and reliable enough, with no manual retesting. There is no or minimal time reserved for scripts fixing, debugging and rerunning during the Test Cycle. If Automated Testing didn’t work then QA resources have to perform […] ...
Posted by Albert Gareev on Aug 12, 2009
Parent page: Test Automation Problems Verification Manual verification is complicated and informal. For test automation purposes, making it logical and specific requires time and effort of a seasoned professional. Workarounds like “picture-based” verification do not require formal logic but do not save man hours at the end due to high maintenance cost and manual validation […] ...
Posted by Albert Gareev on Aug 11, 2009
Parent page: Test Automation Problems Coverage How thoroughly script goes through the test case flow and how many test cases are automated per test plan? Points of consideration 1) Scattered vs. in-depth functionality coverage Each functionality module of the application requires initial effort spent on GUI mapping and common functions development. However, this effort is […] ...
Posted by Albert Gareev on Aug 10, 2009
Parent page: Test Automation Problems Framework There are 3 most popular approaches in implementation of Test Automation, and none of them isn’t ideally suitable for any environment. Approach and problems 1) Linear scripts A single test case could be automated fairly quickly (especially using recording) but robustness without error-handling is very questionable GUI mapping is […] ...
Posted by Albert Gareev on Aug 05, 2009
In the code examples I present I often refer to routine functions. In my framework I have specialized libraries to call from. In my blog I maintain the similar structure. Creating Custom Dialog DotNetFactory interface functions – create custom dialog Creating DotNetFactory GUI Objects DotNetFactory interface functions (1) – Create Button DotNetFactory interface functions (2) – Create Label DotNetFactory […] ...