Difference between revisions of "OtfSolutionExplorer"
Line 1: | Line 1: | ||
{{DISPLAYTITLE:Open Test Framework - Solution Explorer (Solution Management)}}[[Category:OTF]] | {{DISPLAYTITLE:Open Test Framework - Solution Explorer (Solution Management)}}[[Category:OTF]] | ||
− | |||
{{FontColor|red||EDITING ...}} | {{FontColor|red||EDITING ...}} | ||
− | + | == Solution Explorer == | |
The Solution Explorer presents the whole OTX solution in a clear tree structure. All the elements are displayed as nodes in the tree starting from the root node to the ActionRealisation hierarchically. | The Solution Explorer presents the whole OTX solution in a clear tree structure. All the elements are displayed as nodes in the tree starting from the root node to the ActionRealisation hierarchically. | ||
+ | |||
+ | {{ImageStyle2|OTFSolutionExplorer.png|left|The Solution Explorer shows the structure of an OTX solution}} | ||
All the elements of an OTX solution are listed below with the description of the important aspects, features and commands: | All the elements of an OTX solution are listed below with the description of the important aspects, features and commands: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
The Solution Explorer has a menu bar with commands to support... | The Solution Explorer has a menu bar with commands to support... | ||
− | |||
− | |||
− | |||
=={{Anchor|SL|}}[[File:SolutionNode.png]] Solution (root node)== | =={{Anchor|SL|}}[[File:SolutionNode.png]] Solution (root node)== |
Revision as of 11:23, 22 July 2014
EDITING ...
Contents
Solution Explorer
The Solution Explorer presents the whole OTX solution in a clear tree structure. All the elements are displayed as nodes in the tree starting from the root node to the ActionRealisation hierarchically.
All the elements of an OTX solution are listed below with the description of the important aspects, features and commands:
The Solution Explorer has a menu bar with commands to support...
Solution (root node)
An OTX solution is a standard folder in the file system and it is displayed as the "root node" in the Solution Explorer. The OTX solution contains a solution file (*.otfSln) with solution management information (see also Solution Setting section), and another file (*.otfSuo) to record debugging and display information. An OTX solution can have one or many OTX projects but it is not mandatory to have projects in the solution. These OTX projects are displayed as project nodes below the root node and only the project nodes are allowed here. The OTX projects may be located inside or outside the solution folder, the solution file references to these projects with relative paths or absolute paths.
To load or to create a solution, you can use the related functions in the Start Page or in the menu File of the Ribbon menu bar. The name of a solution can be arbitrary but it must comply with the restrictions of the operating system.
The solution node has a context menu, right-click on the solution node to show this context menu. The functions of each entry of the context menu are described below:
Menu entry | Description |
Validate | Checks all the documents in the solution for any warnings or errors |
Build Solution | Builds the dll files (also the executable files or setup files i) of all the projects in the solution |
Change all paths to URI | Searches all the paths used in all the documents of the solution and changes them to URI |
Add >> New Project | Adds a new project to the current solution |
Add >> Existing Project | Adds an existing project to the current solution |
Add >> Import project from Ptx library | Adds a new project to the current solution from a Ptx library |
Subversion Category | Handles Subversion tasks on the solution scope (See Subversion section for more information) |
Open Folder in Windows Explorer | Opens the solution folder in a new window with Windows Explorer |
Properties | Opens the solution setting dialog |
Projects
Like the OTX solution, an OTX project is a standard folder in the file system. It contains a project file (*.otfPrj) with project management information, and the configuration files for the OTX extension libraries used in the project??? ect. (see Project Setting section for more information). An OTX project can have one or many OTX packages but it is not mandatory to have packages in the project. The OTX packages in a project are displayed as package nodes below the project node and only the packages nodes are allowed here.
Important: The names of all the elements below a project node shall conform the OTX Naming conventions!
You can add a new project or add an existing project by using the context menu of the solution. Note that every new project added, a new package and a new document with the procedure "main" will be automatically created in the new project. The name of the new package will be derived from the name of the new project. Beside adding a project by the context menu of the solution, you can use the related functions in the Start Page or in the menu File of the Ribbon menu bar. The name of an OTX project should only contain letters, numbers, underscores and dashes, and the total length of the path to the project should be less than 128 characters (e.g. D:\Solution1\Project1\Project1.otfPrj < 128 characters).
The project node has a context menu, right-click on the project node to show this context menu. The functions of each entry of the context menu are described below:
Menu entry | Description |
Validate | Checks all the documents in the project for any warnings or errors |
Build | Builds the dll files (also the executable files or setup files i) of the project |
Ptx Export... | Export the project to a Ptx library |
Add >> New Package | Adds a new package to the project |
Add >> Existing Package | Adds an existing package to the project |
Add >> Add PTX library reference | Adds a reference to a Ptx library |
Paste | Pastes a copied or cut package to the project |
Delete | Deletes the reference of the solution to the project |
Rename | Renames the project |
Set as Startup Project | Sets the project as the Startup Project of the solution |
Subversion Category | Handles Subversion tasks on the project scope (See Subversion section for more information) |
Open Folder in Windows Explorer | Opens the project folder in a new window with Windows Explorer |
Properties | Opens the project setting dialog |
References
When a project references to one or many Ptx libraries with relative paths or absolute path, these Ptx libraries will be displayed as Ptx nodes below the "References" node of the project. To add a reference to a Ptx library for a project, you can use the context menu of the project. To manage the references to the Ptx libraries such as adding, deleting, including into project folder or converting references path, you can open the library manager in the tab "Libraries (PDX References)" of the project setting, or using the command on the tab "Test Step Libraries" in the Toolbox.
Right-click on the reference node, there will be a context menu with the following entries:
Menu entry | Description |
Add >> Add PDX library reference | Adds a reference to a Ptx library in the project |
Manage PDX references | Open the library manager in the tab Libraries (PDX References) of the project setting |
Right-click on the Ptx node in the reference node, there will be a context menu with the following entries:
Menu entry | Description |
Delete | Deletes the reference to the Ptx library in the project |
Open Folder in Windows Explorer | Opens the folder containing the Ptx in a new window with Windows Explorer |
Packages
For the structural storage of OTX documents in the file system, the OTX packages are used. A package is simply a folder in the file system whose name corresponds to the OTX Naming conventions. The packages are displayed as package nodes below the project node. Each package can contain other packages (at any depth) or documents, it can also be empty. You can add a new package or an existing package, or paste a copied or cut package to a project by using the context menu of the project. You can also do the same tasks on a package by using the context menu of that package.
The package node has a context menu, right-click on the package node to show this context menu. The functions of each entry of the context menu are described below:
Menu entry | Description |
Validate | Checks all the documents in the package for any warnings or errors |
Add >> New Document | Adds a new document to the package |
Add >> Existing Document | Adds an existing document to the package |
Add >> Unallocated Document | Adds a document from the Unallocated Files section to the package |
Add >> All unallocated Documents | Adds all documents from the Unallocated Files section to the package |
Add >> New Package | Adds a new document to the package |
Add >> Existing Package | Adds an existing document to the package |
Cut | Cuts the package |
Copy | Copies the package |
Paste | Pastes a package or a document to the package |
Delete | Deletes the package |
Rename | Renames the package |
Open Folder in Windows Explorer | Opens the package folder in a new window with Windows Explorer |
Documents
An OTX document is an XML file that describes all the data required for a sequence. An OTX document can refer to other OTX documents, see Imports. The content of the documents are not automatically loaded with the solution (except that if a procedure in a document is automatically loaded). To load the content of a document, double click on the document or use menu Open/View in the context menu of the document. You can add a new document or an existing document, or paste a copied or cut document to a package by using the context menu of the package.
The document node has a context menu, right-click on the package node to show this context menu. The functions of each entry of the context menu are described below:
Menu entry | Description |
Open/View | Loads the content of the document |
Validate | Checks for any warnings or errors in the document |
Debug | Executes the procedure main of the document in debug mode |
Save | Saves all the changes in the document |
Add >> Import/Reference | Adds a reference to a document |
Add >> Global Declaration >> New Global Constant | Adds a new global constant to the document |
Add >> Global Declaration >> New Context Variable | Adds a new context variable to the document |
Add >> Global Declaration >> New Global Variable | Adds a new global variable (document variable) to the document |
Add >> AdminData | Adds administration data (versioning data) to the document |
Add >> Validity | Adds a new validity to the document |
Add >> Signtures >> New Procedure Signature | Adds a new procedure signature to the document |
Add >> Signtures >> New Screen Signature | Adds a new screen signature to the document |
Add >> Signtures >> New Device Signature | Adds a new device signature to the document |
Add >> Signtures >> New SingleEcuJob Signature | Adds a new procedure signature with some supported parameters to the document |
Add >> Signtures >> New FlashJob Signature | Adds a new procedure signature with some supported parameters to the document |
Add >> Signtures >> New SecurityAccessJob Signature | Adds a new procedure signature with some supported parameters to the document |
Cut | Cuts the document |
Copy | Copies the document |
Paste | Pastes a global element (valiadity, global declataion, signature) to the document |
Delete | Deletes the document |
Rename | Renames the document |
Set as Startup Document | Sets the document as the Startup Document of the project |
Open Folder in Windows Explorer | Opens the package folder containing the document in a new window with Windows Explorer |
Properties | Opens the properties dialog of the document |
Admin Data
Some OTX documents have a very long lifetime. They may be used or modified by many people, or even they may be exchanged between the process partners. Therefore, the document should store the information about the change history, the person who responsible for the changes ect. This kind of data is called "Admin-Data". This data can be stored within the document or in a seperate file (*.adminData). The storage method may be set by the menu "File\Option" in the Ribbon menu bar. The "Admin-Data" is displayed as the AdminData node below the document node. You can use the context menu of a document to add the "Admin-Data" to that document.
Right-click on the AdminData node, there will be a context menu with the following entries:
Menu entry | Description |
Delete | Deletes the "Admin-Data" |
Properties | Open the AdminData editor dialog??? |
Imports
With the import element, references can be made to other documents. The references are displayed as import elements (or import nodes) below the Imports node of the document. When a document references to another document, it imports the global names defined in the referenced document and it can use these global names. However, not all the imported global names are accessible because their visibility attributes are not sufficient to the document which references to the other one.
You can add a reference to another document by using the menu context of the current document or the context menu of the Imports node of the current document (see below). When you click on the corresponding menu entry, a dialog of adding reference will occur. Here you can enter the prefix for the reference, note that the prefix must conform to the OTX Naming conventions. The format of an imported global name is "Prefix:ElementName". Through the import prefix, a global name of the imported document can be accessed and can be distinguished from the global names of the other imported documents (e.g. Variable1 = ImportPrefix1:GlobalConstant1 + ImportPrefix2:GlobalConstant1). You also have to select the document you want to reference to. The list of the available documents will be displayed in the dialog according to the current project and all the referenced projects or Ptx libraries. In each project or Ptx libraries, the documents will be displayed by the containing package names and the document names (e.g. "Package1.Package12.Package121:NewDocument1"). Note that you can use a document to import itself. After you enter a prefix and select a document to reference, click "OK" button to finish the process and then you can access all the global names with sufficient visibility in the referencing document.
Right-click on the Imports node, there will be a context menu with the following entries:
Menu entry | Description |
Add Item | Adds a new reference to a document |
Right-click on an import node, there will be a context menu with the following entries:
Menu entry | Description |
Delete | Deletes the reference |
Properties | Opens a dialog to modidfy the reference |
Validities
Validities allow for configuring test sequences for different runtime contexts. A Validity is any logical expression which usually consists of contextual variables or global constants. All the validities in a document are displayed as validity nodes below the Validities node. To add a new validity to a document, you can use the context menu of the document or the context menu of the Validities node (see below). You can also copy or cut a validity by using the context menu of that validity node or using shortcuts in the keyboard (Ctrl+C:Copy and Ctrl+X:Cut). To paste a validity to a document, use the context menu of the document or the context menu of the Validities node of the document, or use the shortcut in the keyboard (Ctrl+V:Paste).
Right-click on the Validities node, there will be a context menu with the following entries:
Menu entry | Description |
Add Item | Adds a new validity to the document |
Paste | Pastes a validity to the document |
Right-click on a validity node, there will be a context menu with the following entries:
Menu entry | Description |
Cut | Cuts the validity |
Copy | Copies the validity |
Delete | Deletes the validity |
Rename | Renames the validity |
Properties | Opens the properties dialog of the validity |
Signatures
A signature describes the interface for a procedure, a screen or an external application ect. All the signatures in a document are displayed as signature nodes below the Signatures node. To add a new signature, you can use the context menu of the document or the context menu of the Signatures node (see below). To copy or cut a signature, use the context menu of that signature or use shortcuts on that signature. To paste a signture, use the context menu of the document or of the Signatures node or use the shortcut.
Right-click on the Signatures node, there will be a context menu with the following entries:
Menu entry | Description |
Add Item >> New Procedure Signature | Adds a new procedure signature to the document |
Add Item >> New Screen Signature | Adds a new screen signature to the document |
Add Item >> New Device Signature | Adds a new device signature to the document |
Add Item >> New SingleEcuJob Signature | Adds a new procedure signature with some supported parameters to the document |
Add Item >> New FlashJob Signature | Adds a new procedure signature with some supported parameters to the document |
Add Item >> New SecurityAccessJob Signature | Adds a new procedure signature with some supported parameters to the document |
Paste | Pastes a signature to the document |
Right-click on a signature node, there will be a context menu with the following entries:
Menu entry | Description |
Implement new Procedure (only active for procedure signature) | Creates a new procedure to implement the current procedure signature |
Device Mapping (only active for device signature) | Opens the tab Device Mapping of the project setting |
Cut | Cuts the signature |
Copy | Copies the signature |
Delete | Deletes the signature |
Rename | Renames the signature |
Add new realisation (only active when the signature has no realisation) | Adds a new realisation to the signature (procedure signature realisation ect.) |
Delete realisation (only active when the signature has a realisation) | Deletes the realisation of the signature |
Properties | Opens the properties dialog of the signature |
Global Declarations
Global declarations contains all the global constants and variables (context variables and document variables) which are visible in the whole document. These global constants and variables can also be imported and used in external documents according to their visibility. All the global declarations in a document are displayed as global declaration nodes below the Declarations node of the document (note that a procedure also has a Declarations node). To add a new global declaration, you can use the context menu of the document or the context menu of the Declarations node of the document (see below). To copy or cut a global declaration, use the context menu of that global declaration or use shortcuts on that global declaration. To paste a global declaration, use the context menu of the document or of the Declarations node of the document or use the shortcut. Note the special case that you can paste a global constant or a global variable to the local Declarations node (the copy of a global constant will be a local constant, and the copy of a global variable will be a local variable).
Right-click on the Declarations node of the document, there will be a context menu with the following entries:
Menu entry | Description |
Add >> New Global Constant | Adds a new global constant to the document |
Add >> New Context Variable | Adds a new context variable to the document |
Add >> New Global Variable | Adds a new global variable (document variable) to the document |
Paste | Pastes a global declaration to the document |
Delete not used declarations | Deletes all the unused global declarations |
Right-click on a global declaration node, there will be a context menu with the following entries:
Menu entry | Description |
Cut | Cuts the global declaration |
Copy | Copies the global declaration |
Delete | Deletes the global declaration |
Rename | Renames the global declaration |
Properties | Opens the properties dialog of the global declaration |
Procedures
A procedure is the executable part of an OTX document. It describes the actual procedures/sequences. A procedure (usually the procedure with the name "main") can be used as the entry point of a test sequence to be executed, or it can be called by a ProcedureCall from another OTX procedure. All the procedures in a document are displayed as procedure nodes below the Procedures node of the document. To add a new procedure or paste a procedure, you can use the context menu of the Procedures node (see below). To copy, cut or modify a procedure, use the context menu of that procedure.
Right-click on the Procedures node, there will be a context menu with the following entries:
Menu entry | Description |
Add Item | Adds a new procedure to the document |
Paste | Pastes a procedure to the document |
Right-click on a procedure node, there will be a context menu with the following entries:
Menu entry | Description | |||
Open/View | Opens a new workflow tab??? of the procedure in the Workflow Designer | |||
Validate | Checks the procedure for any errors and warnings | |||
Execute Workflow | Executes the procedure | |||
Stop Procedure | Stop the execution of the procedure | |||
Update Parameters (only active when the procedure implements a procedure signature) | Updates the parameters and the exception declarations (in Throws node) according to the implemented procedure signature | |||
Create ProcedureSignature from Procedure | Creates a new procedure signature for the current procedure to implement (the parameters and exceptions basing on the current procedure) | |||
Cut | Cuts the procedure | |||
Copy | Copies the procedure | |||
Paste | Pastes a local element (comment, parameter, exception or declaration) to the procedure | |||
Delete | Deletes the procedure | |||
Rename | Renames the procedure | |||
Add >> Comment | Adds a comment to the procedure | |||
Add >> Parameter | Adds a parameter to the procedure | |||
Add >> Throw | Adds an exception declaration to the procedure | |||
Add >> Local declaration >> New Local Constant | Adds a new local constant to the procedure | |||
Add >> Local declaration >> New Local Variable | Adds a new local variable to the procedure | |||
Add new realization (only active when the procedure has no realisation) | Adds new realisation to the procedure | |||
Delete Realization | Delete the realization of the procedure. | |||
Properties | Opens the properties dialog of the procedure | - |
Comments
A comment contains a human readable information and a list of links pointing to the elements in the procedure that are related to the comment. Comments are used for additional descriptions beside specification. All the comments in a procedure are displayed as comment nodes below the Comments node of the procedure. To add a new comment or paste a comment, you can use the context menu of the current procedure or the context menu of the Comments node (see below). You can also add a new comment directly to an activity in the Workflow Designer by using the context menu of that activity. Besides, you can add a link between an existing comment and an activity by dragging the comment node from the Solution Explorer and dropping it on the activity. To copy, cut or modify a comment, use the context menu of that comment (see below).
Right-click on the Comments node, there will be a context menu with the following entries:
Menu entry | Description |
Add Item | Adds a new comment to the procedure |
Paste | Pastes a comment to the procedure |
Right-click on a comment node, there will be a context menu with the following entries:
Menu entry | Description |
Cut | Cuts the global declaration |
Copy | Copies the global declaration |
Delete | Deletes the global declaration |
Properties | Opens the editor dialog of the comment |
Parameters
The parameter declaration block may contain In-, Out- or InOut- parameters for procedures and signatures (TermParameter is only for ScreenSignature) . It will be displayed as the Parameters node in a procedure or a signature, the parameter will be displayed as parameter nodes in the Parameters node. To add or to paste a parameter, use the context menu of the Parameters node of the procedure or the signature (see below), you can also use the context menu of the procedure. To copy, cut or modify a comment, use the context menu of that paramter (see below). Note that you can only paste a copied or cut parameter from a procedure signature to a procedure and vice versa.
Right-click on the Parameters node, there will be a context menu with the following entries:
Menu entry | Description |
Update Parameters (only displayed with Parameters node of the procedure implementing a procedure signature) | Updates the parameters and the exception declarations (in Throws node) according to the implemented procedure signature |
Add Item | Adds a parameter to the procedure or signature |
Paste | Pastes a parameter to the procedure or signature |
Right-click on a parameter node, there will be a context menu with the following entries:
Menu entry | Description |
Cut | Cuts the parameter |
Copy | Copies the parameter |
Delete | Deletes the parameter |
Properties | Opens the properties dialog of the parameter |
Throws (exceptions)
The author of the OTX document can predict the exceptions that may potentially be thrown by the procedure. These exceptions shall be declared in the Throws (exceptions) node of the procedure. The implemented procedure signature of the current procedure, or the procedure calling to the current procedure or to the implemented procedure signature should also declare the same exceptions in their Throws nodes. The device service signatures also have the Throws node to declare the potential exceptions. Each declared exception is displayed as an exception node in the Throws node. To add or to paste an exception, use the context menu of the procedure or the context menu of the Throws node (see below). To copy or cut an exception, use the context menu of that exception.
Right-click on the Throws node, there will be a context menu with the following entries:
Menu entry | Description |
Add Item | Adds a new exception to the Throws node |
Paste | Pastes an exception to the Throws node |
Right-click on a exception node, there will be a context menu with the following entries:
Menu entry | Description |
Cut | Cuts the exception |
Copy | Copies the exception |
Delete | Deletes the exception |
Local Declarations
Local declaration block is used to declare all the local constants and local variables which are only valid in their respective procedure. These constants and variables can not be accessed or used outside their procedure. These local declarations are displayed as local declaration node below the Declarations node of the procedure (this local Declarations node is different from the global Declarations node of the document). To add or to paste a local declaration, use the context menu of the procedure or the context menu of the local Declarations node (see below). To copy or cut a local declaration, use the context menu of that local declaration. Note the special case that you can paste a local constant or a local variable to the global Declarations node (the copy of a local constant will be a global constant, and the copy of a local variable will be a global variable).
Right-click on the Declarations node of the document, there will be a context menu with the following entries:
Menu entry | Description |
Add >> New Local Variable | Adds a new local variable to the procedure |
Add >> New Local Constant | Adds a new local constant to the procedure |
Paste | Pastes a local declaration to the procedure |
Delete not used declarations | Deletes all the unused local declarations |
Right-click on a local declaration node, there will be a context menu with the following entries:
Menu entry | Description |
Cut | Cuts the local declaration |
Copy | Copies the local declaration |
Delete | Deletes the local declaration |
Rename | Renames the local declaration |
Properties | Opens the properties dialog of the local declaration |
Flow
Under the flow node, the actual sequence of activities is presented. Each activity consists of a name and one or more realisations. It is displayed as activity node below the flow node, inside an activity node there may be a realisation node or another activity node (the case of compound nodes). The flow node has no context menu but the activity node or the realisation node has a context menu with some limited functions. To edit the activity, please use the Workflow Designer.
Right click on an activity node or a realisation node, there will be a context menu with the following entries:
Menu entry | Description |
Open/View (not displayed with realisation node | Opens (or sets on top) the procedure tab of the activity |
Delete | Deletes the activity (or a deletable flow of a compound node) |
Add new realization (only displayed with the "Catch" flow of the handler activity) | Adds new realisation to the "Catch" flow of the handler activity |
Delete Realization (only displayed with the "Catch" flow of the handler activity) | Deletes the realisation of the "Catch" flow of the handler activity |
Properties | Opens the properties dialog of the element which has the adjustable properties |