Skip to main content

Modeling

This option of the H-TEST tool allows the user to manage UML diagrams. It will also be able to manage the data and manage the repositories of the test cases that are designed.

IMAGE 1

UML Diagram

This option of the H-TEST tool allows the user to manage all treatments associated with UML diagrams.

How to create an UML diagram

UML diagrams are completely necessary for the creation of the test cases. That is because every message of the diagram represents an action that will be carried on in the test (click or type, for instance). In the next paragraphs, it is explained how can an UML diagram be created.

When logged in the tool, the user can see a menu in the left side (see First-steps-in-H-TEST for further info). In this menu, the user will click on the button “Modeling”.

Once in the Modeling page, the user can proceed in three ways:

  • Selecting and modifying one of the test cases already created.
  • Creating a new test case.
  • Importing a test case created with any other UML Design tool.

IMAGE 1

  • If the user chooses to modify an existing UML diagram (left side of the upper screenshot), there will be 4 different colors for the test cases:green for cases where the mapping has been completed and executed correctly, yellow for cases where the mapping has been completed but not executed, red for cases where the mapping has been completed and executed with error and gray for cases that are empty.

  • When choosing to create a new UML diagram, it is needed to click on the “New diagram” icon (+) in the tab located on the upper right side. After this, a new window will open as shown below:

IMAGE 1

Where you will have to fill in the following fields:

  • Domain: this is the domain which the test case will belong to.
  • Project: select the project where the test case will be linked to.
  • Folder: folder of the system where the test case will be stored.
  • Diagram name.
  • Diagram description.
  • Use diagram template.
  • Copy validation mapping.
  • Visibility as a template:
    • Public.
    • Domain.
    • Project.
    • Private.
    • None.

The projects and domains need to be created before the creation of the test case and, also, the user needs to be assigned to the domain and project. Otherwise, the user will not be able to see neither the project-domain, nor the test cases that might have already been created. For more information about domain and user creation, see the Customize-domains-and-projects page.

  • If the user chooses to import a test case already created, he will click the “Import” button near the “New diagram” button.   

ImportDiagram.png


and a new window will open with information on where to save this diagram (see page Import-and-export-of-diagrams).

Edit diagram

This option of the H-TEST tool allows create / modify a diagram.

Below we see the screen or canvas to edit a diagram. It is the Canvas 2.0. At the top right (marked in red), is the Canvas toolbar, which offers different options for the design of the diagram. Let's look at them below:

IMAGE 1

  • Select the elements to be included in the diagram by clicking on the '+' icon:

Herramientas de dibujoen.png

  • Delete elements: allows you to delete the selected diagram object(s) using the 'trash can' icon.
  • Diagram actions: groups a series of actions that can be performed at the diagram level:

acciones-de-diagramaen.png

  • Assistants: displays a list of available assistants:

Asistentesen.png

  • View diagram map: by clicking this button, a thumbnail of the current diagram (at a scale of 4:1) is displayed in a box at the top right of the Canvas.
  • Magnifying glass: allows you to perform free text searches on all diagram elements, and also allows you to narrow the searches on those elements that interest you at a given moment.
  • Reload repositories: allows us to reload YML or TXT files, which contain a series of keys that we can use in the diagrams.
  • Download diagram image: by clicking on the 'image' icon, an image is generated “on the fly” as the current diagram is, i.e. a preview of the diagram is created and downloaded to a .png file.
  • Validate mapping: validates the mappings included in the diagram using the 'validate mapping' icon.
  • Run validation: runs the validation of the diagram with the 'play' icon.
  • Show Canvas help: a modal appears with 3 tabs (Keyboard shortcuts, Global variables, Color guide) where the basic Canvas help is shown.
    • “Keyboard shortcuts” tab: displays all keyboard shortcuts that are equivalent to actions performed either through menu options or buttons:     

Atajosen.png

    • “Global variables” tab: displays the standard global variables available in any diagram:

  • variables globalesen.png
    •  “Color Guide” tab: refers to the different colors that can now be found on the objects in the diagram.

Guia de coloresen.png

Checking in object properties tab

The object or objects (Adapters), is the main element when creating a diagram. Two tabs help to define the name of the object, its properties and initialization or configuration parameters, to be able to interact with web pages, files, API, scripts, remote, DB.

IMAGE 1

Checking in message properties tab

In a message, by double click over it, is possible to indicate the type of action when the step is executed based on the following checkbox:

BreakPoint.png

  1. Locking step: If this message fails, the test execution will stop and the test will end.
  2. Optional step: The result of this step will not impact the test result.
  3. Comment out: If this check is marked, the message will not be executed.
  4. Breakpoint: The breakpoint check is used to stop the execution of the test in this step. It is helpfull during the creation of the diagram.

Guards

A guard is a logical condition that can be included in a UML message. The behavior is as follow, when the logical condition is true, the message is executed, when the logical condition is false, the message is NOT executed.

A guard is really useful when an action must or must not be executed, based on the result of a condition.

Modeling2.0Guardiaen.png

The conditions inside a guard can be of two types:

  • Simple, by using logical operators like, < (less than), > (greater than), == (equal to), != (different than), ⇐ (less or equal to), >= (greater or equal to).
  • Complex, by concatenating the use of simple operators through logical operators as: AND (and), OR (or), && (exclusive and), || (exclusive or)

Following some examples about simple and complex conditions in a Guard:

  • #numCol < 25
    The message will be executed when, the variable numCol is less than 25.
  • #myFavoriteApp == “TAST”
    The message will be executed when the variable myFavoriteApp is equal to the string “TAST”. To be considered that the strings must be compared using “” (double coutes).
  • #fahrzeugtypTestData ==“Gebrauchtwagen”||#fahrzeugtypTestData==“Vorführwagen” || #fahrzeugtypTestData==“Tageszulassung”
    The message will be executed when the variable fahrzeugtypTestData, is equal to one of the following values: Gebrauchtwagen, Vorführwagen, Tageszulassung.
  • #str1 ==“TAST” AND #str2==“TaaS” AND #str3==“SIPSA”
    The message will be executed when the variable string str1 is equal to TAST and when the variable str2 is equal to TaaS and when the variable str3 is equal to SIPSA.

Multiple line text

In the mapping of a message, is possible to include a value with line skipping. For this, there is a checkbox 'Multiline Text':

IMAGE 1

If the checkbox is selected, an editor will appear to include the text:

Multilinea2en.png

Multilinea3en.png

Reply message

This message has to be tied to another message between two objects and is painted in the opposite direction. The two messages form a set and are not treated separately.   IMAGE 1 


  • The only function allowed in the reply message is assertion, that has as input parameters stepResult (result of the previous message), and can have more parameters. The output parameter is also stepResult.

  • This message allows us is to vary the result of the previous step by checking some conditions. This process is done using a javascript.      IMAGE 1   DATA MANAGEMENT: It allows modifying the javascript of each one of the diagrams. IMAGE 2

Gates

This option of the H-TEST tool allows the user to pass information between sequence diagrams. Gates can be an easy way to model the passing of information between a sequence diagram and its context. A gate is merely a message that is illustrated with one end connected to the sequence diagram's frame's edge and the other end connected to a lifeline and represents another diagram.

About Gates, please consider the following important topics:

  • The position of the adaptor inside the gate is very important for the correct behavior because the Gate is also related to the Adaptor you plan to instantiate. Thus, you should put the Gate not only in the number step, but also in the same lifeline where you can continue the test execution. For example, if you want to use a Gate to a HTML GUI Adaptor, you should put the Gate in a Lifeline of a GUI HTML Adaptor into the parent diagram.
  • The Isolated behavior always instantiates all adaptors.
  • The Non-isolated behavior: maps the messages of the first adaptor of the Gate that has the same type as the adaptor of the parent where it is drawn; the rest of the adaptors will be instantiated.
  • The concept of Isolated / Non-Isolated is internally configured in H-TEST. Currently, that concept only applies for these adaptorsGUI Adaptor and Web Services Adaptor.
  • For the User's Gates: all the Gates in lifelines belonging to User objects are mapping to the User object of the Father diagram.

How to Create a Gate:

In the toolbar, select the Gate and draw on the lifeline. Double click and open the Gate properties, where you choose the domain, the project and the diagram you want to copy. IMAGE 1

The selected diagram can be visualized by clicking on the icon of the image. IMAGE 1

By clicking on the message map, it is displayed.

IMAGE 1

DATA MANAGEMENT: Allows to assign test case data to each Gate included in the diagrams.

IMAGE 1

EXECUTION OF TEST SET WITH GATES: A Test Set containing Gates is created and executed.

IMAGE 1

Combined Fragments

SubTestCases

Delete a message

Information about the management of UML diagrams

Below, the screen to manage the UML diagrams : IMAGE 1

We can see the diagram information by clicking on the 'More info' icon.
You can page the diagrams using the page numbers at the bottom of the screen.

This screen allows:

  Create a new diagram.
  - Import a XML File.
  - Save a diagram.
  - Delete a diagram.
  - Create a new folder.
  - Select diagrams using filter and/or by mapping.
  - Deactivate the filters used, using the cross icon.
  - Edit a diagram for its update, double click.

Message Properties Tab

Message Mapping Tab

Message documentation Tab

In a H-TEST diagram, the messages (steps) non-reply can be documented using the “Message documentation” tab in the properties of the same.

In this tab it will be possible to document everything that should be stored in the evidence repository tools such as ALM, Confluence, etc.

IMAGE 1

This new tab contains the following elements:

  • StepName
  • Documenting evidences: this cheIMAGE 1ck is going to tell us if we should get the evidences (screenshot, files, etc) and if we should register the step in the documentation tool (alm, confluence, etc). Only one screenshot is going to be taken at the end of the execution of all the parameters of the message.
  • Step description: by default, the same description that has been included in the Message Properties, but there will be the possibility to write and change it.
  • Step expected result: by default is just empty or with OK, but you can write whatever you want.
  • Step execution result: at the moment is going to be empty.
  • Attachments: to paste the files into the Documentation tab using you can either use the “Control + V” shortcut and dragging the mouse (mouse down + mouse up).
  • Screenshots: to add an image in the screenshot zone from the clipboard, press “Ctrl + V”; a modal screen will open with the screenshot preview and a field to give it a name. It´s not necessary to be over any element, the paste event works anywhere in the modeling page as long as there is an image in the clipboard.

This feature is not supported on Internet Explorer due to IE limitations, so it needs to be performed using Chrome.

How to Move diagram

This option of the Tast tool allows the user to move a diagram to another folder of any domain and project to which they have access. To be able to use it you have to: Go to Model, click on UML Diagrams. The table is shown, where you have to click on the arrow icon located in the Actions column (fourth element). A pop-up appears, in which you select the domain, the project and the folder where you want to move the diagram. Click on “yes”. The diagram has been moved to that folder.

IMAGE 1, IMAGE 2

Global Variables

In a diagram, it is possible to use a set of global variables in all the parts where the help of variables is allowed (object mapping, message mapping, …).

The dropdown of variables (including global ones) will appear when typing the character '#':  IMAGE 1

In H-TEST, there are currently these global variables:

  • #caseResult: boolean variable that contains the result of the test case execution:
    • true: when the result of all steps execution of the test case has been correct.
    • false: otherwise; that is, at least the execution of a step of the test case has been failed.
  • #global_password: Contains the client access password.
  • #global_user: Contains the client access user
  • #pathLog: contains the path to the folder, which contains the screenshots, log file and other files generated during the execution.
  • #stepNumber: It contains a four-character number (e.g. '0001') and represents the number by which the next step marked to be documented in ALM will be recorded. When a step is recorded in ALM, this number will be incremented for the next step.
  • #stepNumberTast: Contains the old numbering for documenting steps in ALM before the 'stepNumber' variable was available. This format is “Step X.Y…Z Loop I.J…K” where X…Z is the step position, where Y…Z are positions within Gates, and I…K are the loop iteration number, where J…K are the iteration number of nested loops.
  • #stepResult: boolean variable that contains the result of the last step execution in the test case:
    • true: when the result of the last step execution has been correct.
    • false: otherwise; that is, the result of the last step execution has been failed.

We can also quickly access the list of global variables through the toolbar. Clicking on the ”?” icon will display “Show Canvas help”.

Icono mostrar ayuda del canvas.png

Next a modal with 3 tabs and choose the “Global Variables” tab which displays the standard global variables available in any diagram.

variables globalesen.png

Predefined Functions - Generation of evidences

Below, the list of predefined functions and the indication of whether they generate evidences or not:

                      

Predefined FunctionAdaptorGenerates evidences
connectDatabaseNO
connect_DBDatabaseNO
dBExecuteStatementDatabaseNO
dBGetQueryDataDatabaseYES
disconnect_DBDatabaseNO
getNumColumnsDatabaseNO
getNumRowsDatabaseNO
getTableValueDatabaseNO
tableRecordCountDatabaseNO
addSheetExcel FileNO
deleteSheetExcel FileNO
generateFileAsEvidenceExcel FileYES
getCellValueExcel FileNO
getColumnByRowSearchExcel FileYES
getExcelSheetExcel FileNO
getNumColumnsExcel FileNO
getNumRowsExcel FileNO
getNumValueSearchOnColumnExcel FileNO
getRowByColumnSearchExcel FileYES
getTableValueExcel FileNO
getTableValueByColumnNameExcel FileNO
getValuesByPositionExcel FileNO
newFileExcel FileNO
setCellValueOneParameterEcxel FileNO
setColumnValuesExcel FileNO
setHeaderExcel FileNO
setRowValuesExcel FileNO
setTableValueExcel FileNO
setSheetExcel FileNO
vTableLookUpExcel FileYES
vTableLookupArrayExcel FileYES
allOptionsAreSelectedGUI HTMLYES
clearGUI HTMLYES
clearAndTypeGUI HTMLYES
clickGUI HTMLYES
clickByJavaScriptGUI HTMLYES
clickLinkGUI HTMLYES
clickPrintGUI HTMLNO
closeAllWindowsGUI HTMLYES
closeOthersWindowsGUI HTMLNO
closeWindowGUI HTMLNO
countElementsGUI HTMLNO
checkboxGUI HTMLYES
checkRadioGUI HTMLNO
doubleClickGUI HTMLYES
deleteAllCookiesGUI HTMLNO
deselectAllOptionsGUI HTMLYES
fileDownloadGUI HTMLYES
fileDownloadDialogGUI HTMLYES
fileUploadGUI HTMLNO
getAttributeGUI HTMLYES
isCurrentUrlContainsGUI HTMLYES
isCurrentUrlEqualsGUI HTMLYES
isCurrentUrlMatchesGUI HTMLYES
isDisplayedGUI HTMLYES
isExistGUI HTMLYES
isSelectedGUI HTMLYES
isTitleEqualsGUI HTMLYES
isTitleMatchesGUI HTMLYES
hasOptionWithValueGUI HTMLYES
javascriptAlertAcceptGUI HTMLNO
javascriptAlertCancelGUI HTMLNO
javascriptExecuteGUI HTMLNO
loginGUI HTMLYES
openUrlGUI HTMLYES
optionWithValueIsEnabledGUI HTMLYES
optionWithValueIsSelectedGUI HTMLYES
pressEnterGUI HTMLYES
selectGUI HTMLYES
selectAllOptionsGUI HTMLYES
selectOptionGUI HTMLNO
submitGUI HTMLYES
tableCellValueGUI HTMLNO
tableCellXPathByPositionGUI HTMLNO
tableColumnsNumGUI HTMLNO
tableHLookUpXPathGUI HTMLNO
tableHtmlGUI HTMLYES
tableRowsNumGUI HTMLNO
tableVLookUpValueGUI HTMLNO
tableVLookUpXPathGUI HTMLNO
takeScreenshotGUI HTMLYES
typeGUI HTMLYES
typeActionGUI HTMLNO
typeKeysGUI HTMLNO
uncheckboxGUI HTMLYES
validateAttributeGUI HTMLYES
waitForGUI HTMLNO
waitForElementGUI HTMLNO
waitForPageLoadGUI HTMLNO
newConnect_ScriptScript GenericNO
execute_ScriptScript GenericYES
disconnect_ScriptScript GenericNO
connect_ScriptScript GenericNO
closeFileText FilesNO
containsTextText FilesNO
countFileLineText FilesNO
countTextFileText FilesNO
deleteFtpFileText FilesNO
deleteSftpFileText FilesNO
generateFileAsEvidenceText FilesYES
getFileTextText FilesNO
getFtpFileText FilesNO
getLineLengthText FilesNO
getNumColumnsText FilesNO
getOwnerText FilesNO
getReadLineText FilesNO
getSizeText FilesNO
getSftpFileText FilesNO
getTableValueText FilesNO
getTextFileDataText FilesYES
lineContainsTextText FilesNO
loadCsvDataText FilesYES
newFileText FilesNO
openFileText FilesNO
openNewFileText FilesNO
putFtpFileText FilesNO
putSftpFileText FilesNO
replaceTextText FilesNO
writeEnterText FilesNO
writeToText FilesNO
assertionUser ObjectNO
compareParametersUser ObjectNO
compareVariablesUser ObjectNO
copyFileUser ObjectNO
dateAdditionUser ObjectNO
dateDifferenceUser ObjectNO
dateWeekDayUser ObjectNO
executeCommandUser ObjectNO
executeJavaScriptUser ObjectNO
failTestUser ObjectNO
getCurrentDateUser ObjectNO
getCurrentDateAsDateUser ObjectNO
getCurrentDateAsStringUser ObjectNO
isExistVariableUser ObjectNO
manualTastUser ObjectYES
removeVariableUser ObjectNO
replaceAllUser ObjectNO
saveRepositoryAsEvidenceUser ObjectYES
sendKeysUser ObjectNO
sendKeysCombinationUser ObjectNO
sendKeysPasteUser ObjectNO
setArrayVariableUser ObjectNO
setVariableUser ObjectNO
systemCloseProgramUser ObjectNO
takeScreenshotUser ObjectYES
waitFor:User ObjectYES
deleteRestAPI/WebServiceYES
getALLXMLElementValueByTagNameAPI/WebServiceYES
getCookieValueAPI/WebServiceNO
getHeaderValueAPI/WebServiceNO
getHTMLElementValueByXPathAPI/WebServiceNO
getJSONElementValueByJsonPathAPI/WebServiceNO
getJSONElementValueByTagNameAPI/WebServiceNO
getRestAPI/WebServiceYES
getResponseStatusAPI/WebServiceNO
getResponseTimeAPI/WebServiceNO
getXMLElementValueByXPathAPI/WebServiceNO
getXMLElementValueByTagNameAPI/WebServiceNO
patchRestAPI/WebServiceYES
postRestAPI/WebServiceYES
putRestAPI/WebServiceYES
responseBodyContainsTextAPI/WebServiceNO
setNoneAuthenticationAPI/WebServiceNO
setBasicAuthenticationAPI/WebServiceNO
setBearerTokenAuthenticationAPI/WebServiceNO
setDigestAuthenticationAPI/WebServiceNO
clearAndWriteFieldHost 3270YES
clearFieldHost 3270YES
containsTextHost 3270YES
getLenghFieldHost 3270NO
nextScreenHost 3270YES
previousScreenHost 3270YES
readFieldHost 3270YES
readRowHost 3270YES
readScreenHost 3270YES
readScreenHost 3270YES
rowContainsTextHost 3270YES
waitCRCHost 3270NO
waitForHost 3270NO
waitForChangeHost 3270YES
waitForTextHost 3270YES
writeAfterLabelHost 3270YES
writeBeforeLabelHost 3270YES
writeFieldHost 3270YES
writeKeyHost 3270YES
writeKeyUntilFindHost 3270YES
writeTextHost 3270YES
checkTextInSlidePDFNO
checkTextOnDocumentPDFNO
checkTextOnPagePDFNO
checkTextOnPageAreaPDFNO
generateFileAsEvidencePDFYES
getGetTextByPageAreaPDFYES
getNumPagesPDFNO
getNumWhitePagesPDFNO
getPageAsImagePDFYES
getPageTextPDFYES
getTextCountOnDocumentPDFNO
getTextCountOnPagePDFNO
isPageWhitePDFNO
generateFileAsEvidenceXMLYES
getElementAttrTextByXPathXMLNO
getElementsCountByTagNameXMLNO
getElementsCountByXPathXMLNO
getElementsTextByTagNameXMLYES
getElementsTextByXPathXMLYES
getElementTextByTagNameXMLNO
getElementTextByXPathXMLNO
replaceElementAttrTextByXPathXMLNO
replaceElementTextByTagNameXMLNO
replaceElementTextByXPathXMLNO
saveAsXMLNO
saveXmlXMLNO
xmlToStringXMLNO
executeAllServiceOperationsSOAP UIYES
executeAllTestSuiteSOAP UIYES
executeServiceOperationSOAP UIYES
executeTestCaseSOAP UIYES
executeTestStepSOAP UIYES
executeTestSuiteSOAP UIYES
executePostmanCollectionPostman CollectionYES
getResponseBodyPostman CollectionYES
getResponseStatusCodePostman CollectionYES

Shortcuts

You can use the following keyboard shortcuts in the canvas:

ShortcutDescription
EscClose menus and selects the pointer.
SuprDeletes elements if there is one or more elements are selected.
Alt + 9Unlock diagrama for edition.
Alt + PSelects the pointer tool.
Alt + OSelects the “Adaptor” tool.
Alt + MSelects the “Message” tool.
Alt + RSelects the “Reply message tool”.
Alt + GSelects the “Gate” tool.
Alt + ASelects the “Combined Fragment: ALT” tool.
Alt + DSelects the “Combined Fragment: DO WHILE” tool.
Alt + WSelects the “Combined Fragment: WHILE” tool.
Alt + FSelects the “Combined Fragment: FOR” tool.
Alt + ESelects the “Combined Fragment: FOR EACH” tool.
Alt + SSelects the “Subtestcase” tool.
Ctrl + CCopy selected elements.
Ctrl + VPaste copied elements.
Ctrl + Shift + VPaste copied items on the position of the cursor.
Ctrl + ZUndoes some actions such as: Delete elements, Redistribute diagram, etc…
Ctrl + Shift + FToggle comment out selected items (messages/gates).
Double clickEdit element: double click on a diagram element to edit its properties.
Right buttonContext menu: by right-clicking on an element, you can access the dynamic context menu. The options of this menu vary and can appear active/not active, depending on the currently selected elements.
Mouse WheelZoom in/Zoom out: Ro ll the mouse wheel forward or backward to zoom in or zoom out the canvas respectively.
Shift + clickMultiple selection: press “shift” key while click on items to select them.
Shift + dragMultiple drag&drop: press “shift” key while drag and drop all selected items
Click + dragMove diagram: click on an empty diagram place while drag the diagram to any direction to move it.

Multiple Selection of Messages

Selection of objects in the Canvas

By Selecting an object, we can then perform other actions with it (eg delete it, etc...).

Simple selection

To select an object in the canvas, just click on the object (in any of its parts, including the text). To deselect it, just click on an “empty” area of the canvas.

Multiple selection

To select several objects in the canvas, we will press shift-click on the different objects that we want to select. This allows us to perform actions on that group of selected objects (eg delete them, move them, copy them, etc...).


To deselect them, just click on an “empty” area of the canvas. In multiple selection there is no limitation regarding the type of selected objects. All types of objects can be selected at the same time (messages, gates, fragments…).

Selective Mapping

H-TEST has an important help when mapping objects and messages in a diagram: Selective Mapping.

The configuration, how to use the functionality, and some considerations are explained in the document below tast_selective_mapping_v1.0.doc

Tast Table Data Management

In an UML diagram, H-TEST allows the use of variables of a specific type of table, called TastTableData.

These variables can be used with practically all the adaptors available in H-TEST (HTML GUI, Excel Files, Database, …). They can be used in the “Value” box of a Predefined Function or in Javascript.

Once the TastTableData variables have been created (as output variables), they can be used as input variables in subsequent messages. The way to use them in a “Value box” is:
#TastTableDataVariableName.functionName(params…). From javascript, you will use the syntax functionName(params…)

The functions currently available are:

OutputFunctionDescription
intgetNumColumns()Returns an integer with the number of columns.
intgetNumRows()Returns an integer with the number of rows.
StringgetStringValue()Returns a string containing the content of the table separating cells with | and rows with ||.
TastRowTableDatagetTheRow(int index)Returns a row.
N/AaddRowData(TastRowTableData rowData)Adds a row at the end of the table.
TastRowTableDatagetTheColumn(int index)Returns a column (as a row).
TastDataGenericgetCellValue(int row,int column)Returns the value of a specific cell.
TastDataGenericgetTableValueByColumnName(int rowNum, String columnName)Returns the value of a cell identified by row number and Column name.
N/AsetTableValue(int row, int column, String value)Allows to add a value to a specific cell. The value can be a string, Float or Boolean value, either contained in a variable or hardcoded:

TastTableData is a multidimensional list, or a list of lists. By placing a list inside other lists, we can store information in rows and columns. Let's show an example:

With the SetVariable function we are going to define a variable of type TastTableData. IMAGE 1, IMAGE 2

The different rows appear, containing five columns, each of one type. More rows can be added. IMAGE 1 

To get all the information that is on the first page of the Excel file, we can use the getExcelSheet function and it is stored in this variable TastOutputTable. IMAGE 1, IMAGE 2

Then, in order to work with TastOutputTable we can use the functions or methods described above.

Tast Row Data Management

H-TEST allows the use of variables of a specific type of row, called TastRowValues.

These variables can be used with practically all the adaptors available in H-TEST (HTML GUI, Excel Files, Database, …). They can be used in the “Value” box of a Predefined Function or in Javascript.

Once the TastRowValues variables have been created (as output variables), they can be used as input variables in subsequent messages.

The way to use them in a “Value box” is: #TastRowDataVariableName.functionName(params…) From javascript, you will use the syntax functionName(params…)

In order to be able to work with these variables, some methods or Predefined Functions have been created. The functions currently available are:

OutputFunctionDescription
N/AaddCellValue(String value)Allows to add a cell at the end of the TastRowValues.
StringgetCellValue(int index)Returns the content of a specific cell.
intgetLength()Returns the number of cells of the TastRowValues.
StringgetStringValue()Returns the content of the row separating cells with |

TastRowTableData is a collection of data in the form of a list that can be repeated. The number of elements is not fixed or limited in advance. To access the elements an index is used which indicates the position of the element in the collection. This type of data is required in several Adapters.

Let's take an example with two Adapters: User Adapter and Excel Adapter. In the User Adapter we are going to create a variable of this type. We use the Method or the Predefined Function SetVariable, for this we only have to choose the data type: TastRowValue and fill in.

IMAGE 1, IMAGE2, IMAGE 3




In this other example (message), the column whose row meets a condition is collected from an Excel file through the Excel Adapter. The result is stored in this data type, in the variable OUTPUT.

IMAGE 1

In this other example (message) we see that we are going to use the variable OUTPUT and we are going to obtain the index cell one, with these methods or Predefined Functions, the first cell is one, it is not zero.

IMAGE 1

For more information about Variables Management, see the topic Variables-Management-in-H-TEST.

The H-TEST Canvas

H-TEST has an important feature: the Canvas, which is a place where the user can paint the UML diagrams.

Actually, the Using H-TEST workflow starts from its Canvas.

Currently Canvas/Modeling  does not work in Internet Explorer, because IE is a discontinued product. All other browsers Chrome, Edge and Firefox are supported. You can launch the Canvas from several places:

  • Creation of a new UML Diagram.
  • Editing an existing Diagram.
  • Navigation from several places of H-TEST to consult a diagram.

IMAGE  1

We have created a page where it is explained in detail, its use, the improvements made and all the features it has.

Flecha acceso.png  H-TEST-Canvas

Data Management

Test Sets Data Window

Test Set Data Window

Test Set Data Info Window

Delete Functionality

Import TCD from an Excel file

How to search an UML diagram in Modeling

How to search an UML diagram in Data Management

Repository Management

Glosary

Features

Import repositories

Changes in modeling