====== First steps in TAST ====== TAST (Test Automation System Tool) is a tool for automating the testing. It is based on UML diagrams. It has a user-based system, where every user has a role and, depending on this role, can perform different actions.\\ =====Prerequisites for installing TAST===== For being able to use TAST, it is needed to make a short configuration in the pc to let the program work as expected, be able to use the client, and avoid the security messages to come out every time that the tool is open. First of all, a set up for the client-permissions is needed.\\ \\ The configuration is performed following these steps:\\ - Check you have Java Runtime Environment (JRE) installed. To verify this, open a Windows command console and type: java -version. If you have the JRE installed, it will show which version you have, the version 1.8.0 is required. In case you don't have it installed, download it from the following link: https://www.java.com/en/download/. This step is completely needed.\\ \\ - Change the two environment variables: Run from the control panel -> User Accounts -> User accounts -> Change my environment variables ->\\ \\ {{ :es:imagen1completa.jpg?450 |}}\\ a. If you have PATH, click on “edit” while selecting it. If you don’t have it, click on “new”.\\ \\ {{ :es:imagen2.jpg?350 |}}\\ Add new values to variable PATH:\\ \\ C:\Program Files(x86)\Java\**jre1.8.0_281**\\ C:\Program Files(x86)\Common Files\Oracle\Java\javapath\\ C:\ProgramData\Oracle\Java\javapath\\ \\ (the numbers on the jre should correspond with your jre version).\\ \\ {{ :es:imagen3.jpg?350 |}}\\ - Restart the PC.\\ \\ - Open java options following these steps:\\ a. Click the Windows start button.\\ b. Go to “control panel”.\\ c. Go to “Programs”.\\ d. Click on “Java”.\\ \\ - Add exception on the “Edit Site List” option on the “Security” tab:\\ a. Click on “edit site list”.\\ \\ {{ :es:imagen4.jpg?350 |}}\\ b. Click on “Add”\\ {{ :es:imagen5.jpg?350 |}}\\ c. Add locations:\\ \\ For SIPSA environment:\\ https://app.cloud1.testautomationsystemtool.com/\\ \\ - Download the TAST drivers folder from this link:\\ [[https://testautomationsystemtool.com/cliente/sw/AppTast.zip]]\\ \\ and unzip it to "C:"\\ \\ {{ :es:imagen6.jpg?350 |}}\\ \\ =====Prerequisites for automating GUI HTML===== To be able to automate HTML GUI pages, there are two ways to do it:\\ - Through **Selective Mapping**. - F12 Browser.\\ TAST has created a proprietary tool, **Selective Mapping**, thanks to which, we can obtain the search values in a more efficient way. When using selective mapping, the best search options are suggested from top to bottom. We can search by name, type, xtpath, Css, Css attributes. The options available for the Selective Mapping functionality are:\\ * To pause or continue: . * To copy attribute content or search by: * To paste the content of the attribute or search by: * To view the html source: [v] * To exit: [esc] Here is how to install this tool. ====Selective Mapping==== - In the browser, open the TAST tool \\ - Add this page to Favorites Bar\\ \\ \\ {{ :es:primeros_pasos1.png?500 |}}\\ \\ - Rename this favorite to ‘Selective Mapping’.\\ \\ {{ :es:primeros_pasos2.png?500 |}}\\ \\ - Make visible Selective Mapping in the browser's favourite bar:\\ \\ {{ :es:primeros_pasos_3.png?500 |}}\\ \\ - Positioned in Selective Mapping, right mouse button, and select Properties:\\ \\ {{ :es:mapeo_selectivo_4.png?500 |}}\\ - Copy the following text in the URL:\\ // javascript:prefFile='';void(z=document.body.appendChild(document.createElement('script')));void(z.language='javascript');void(z.type='text/javascript');void(z.src='https://app.testautomationsystemtool.com/rest/selectivemapping');void(z.id='tast');\\ In the case of having your own installation, you must replace \\ by //\\ \\ {{ :es:mapeo_selectivo5.png?250 |}}\\ \\ - After clicking on the Selective Mapping favorite, appears a window similar to the following:\\ \\ {{ :es:mapeo_selectivo_6.png?250 |}}\\ \\ - The attributes will change depending on where the focus is in the web page.\\ \\ ===Example of how to work with Selective Mapping=== First of all, we are going to create a very simple GUI diagram that will consist of a Google search of the official website of the newspaper EL PAÍS. Here is a link to the video with the explanation of this test case. [[https://vimeo.com/920514078/6d0a2f564f?share=copy]]\\ \\ Next we are going to detail step by step how to create a similar diagram, which is going to consist of a Google search, of TAST SIPSA: Google will open → We will accept the Cookies message from our computer → We will include our Google search criteria → We will click on the button → We will click on the 1st option that appears.\\ \\ Access UML Model/UML Diagram from the menu:\\ {{ {{ :en:imagen1.png?500 |}} Select your domain and project {{ :es:imagen2.png?500 |}} Creat a new diagram.\\ \\ Fill in the fields to create the diagram with the name, description and location where we want to create it. {{ :es:imagen4.png?500 |}} We start by drawing the diagram using the drawing tools found in the menu on the right of the screen. Press the + sign adn a drop down list will appear. Select the second option: Object {{ :es:imagen5.png?500 |}} The first Adapter we need is the User Adapter. This Adapter does not need Properties, but it is necessary, since all messages start from it. {{ :es:imagen6.png?500 |}} Next select another Adapter, and in this case we need the GUI Adapter, which is the one that allows us to interact with all kinds of web pages, to navigate, extract data, validate, etc... Accept the change of Adapter. {{ :es:imagen7.png?500 |}} And we can now launch messages {{ :es:imagen8.png?500 |}} This Adapter needs the folowing in the Properties tab, indicate the URL and the name of the Search engine, in this case Chrome.\\ \\ The URL and the search engine are necessay. Other parameters are optional. {{ :es:imagen9.png?500 |}} When then go to the Selective Mapping tab, click twice and open it. To the right of the image, a light gray drop-down will appear with some data, which will vary as we modify our search by pressing the [v] key and the help of a red marker\\ \\ Thanks to this tool, we can obtain the search values, which must be included, by copying and pasting them in the next Object Mapping tab. We can search by: name, type, xtpath, Css attributes, according to what was marked in the SearchBy dropdown. We then paste it in the Element tab.\\ \\ {{ :es:imagen10.png?500 |}}\\ {{ :es:imagen11.png?500 |}}\\ {{ :es:imagen12.png?500 |}}\\ {{ :es:imagen13.png?500 |}}\\ {{ :es:imagen14.png?500 |}}\\ If we want to document a step, open the message documentation screen and give an explanation of this step. This will appear documented when downloading he evidence document. {{ :es:imagen15.png?500 |}} When the finish giving all the properties to the messages, map the messages and if we want to we document them. Once we have finished the whole process, we save the diagram and validate it. {{ :es:imagen16.png?500 |}} If we cannot edit it or we want to open the diagram again, to make any changes, we have to go to the lock tab and unlock it. {{ :es:unlock.png?500 |}} This diagram is assigned a number by default. We open Client, downloading the Exe version. {{ :es:imagen17.png?500 |}} And this screen will appear, where we click on More information, never on Not Execute. {{ :es:advertencia_cliente.png?500 |}} It will then take a few seconds for the Client to install. {{ :es:cliente.png?500 |}} Click on Accept\\ {{ :cliente1en.png?500 |}} And it will appear: {{ :es:imagen18.png?500 |}} We look for the test case, execute it, if there are no errors it will be marked in green. \\ \\ The Test case is launched automatically and we can see how: Google is opened -> Accept our PC's Cookies message -> include our Google search criteria -> click on the button -> then click on the 1st option that appears. \\ \\ Next to the green tab is a folder that contains all the It is found in our C directory: {{ :es:imagen19.png?500 |}} {{ :es:imagen20.png?500 |}} {{ :es:imagen21.png?500 |}} Open it and we have all the steps performed, the predefined functions that we have needed for the messages and the result. {{ :es:imagen22.png?500 |}} If we want to have this test case documented, we go to Results and click on the download tab.\\ {{ :es:imagen23.png?500 |}} {{ :es:imagen24.png?500 |}} It creates a Word document with the number of steps performed, the Result, the link to access the diagram and if we have documented the messages, it will also detail them. {{ :es:imagen25.png?500 |}}\\ \\ ====F12 Browser==== To get the mapping of a message from the GUI adapter we can do it with the F12 key. In this case we are going to search for a type in Google, which is the field where we write the search we want to do in Google.\\ \\ We open the page we want to diagram (URL of the GUI adapter). Press the F12 key on the keyboard and the console appears {{ :es:f12imagen1.png?500 |}} We click on the arrow in the image that shows us the elements of the page that we want to select to inspect. {{ :es:f12imagen2.png?500 |}} It is positioned on the element of which we want to obtain the mapping and it is clicked on it. The F12 screen will show the information of the element. {{ :es:f12imagen3.png?500 |}} {{ :es:f12imagen4.png?500 |}} On the element, we double click on the field that we want to obtain so that it is selected. In our case, we are going to do the search by "name". We copy the element (Ctrl + C). {{ :es:f12imagen5.png?500 |}} We go back to mapping the message in our diagram. Where we select the search field (name) and the information copied from F12 in the element field. {{ :es:f12imagen6.png?500 |}} If we want to search by Xpath or Css Selector, in the selected element in the console (F12), we right-click / copy / copy selector-copy Xpath. And it is pasted in the element field of the message mapping. {{ :es:f12imagen7.png?500 |}}\\ \\ ===== Login in to TAST===== The first screen seen when accessing to the tool is the one here below, where the user needs to log in, in order to get into its personal TAST view. This login can be done with the same credentials than for accessing Windows (i.e. LDAP number N000000 or XI000000 and password). {{ :pantalla_login_eng.png?link300 |}} After clicking the "Sign in" button, the first webpage seen is the DASHBOARD of the tool, where the user can see the main useful information about the tool and its last use. {{ :menu1_eng.png?link&250 |}} For switching between the different functionalities of the application, the user can use the menu at the left side of the screen. This menu can be presented in two ways (collapsed or expanded). In this menu, can be selected the following options: * Dashboard. * Settings. * Customize. * Domains & Projects. * Projects & Users. * User Roles. * Infrastructure. * Modeling. * UML Diagram. * Data Management. * Running. * TS Management. * Planning. * Results. The button 'Modeling' will drive the user to the page that allows to create UML diagrams. To logout, the user needs to click on its user (upper right) and then will see the Logout button.\\ \\ =====Doble Autentication in the TAST web application===== The TAST web application allows to activate the double authentication (double layer of security) to enter the application.\\ \\ As a requirement the user on a device (mobile phone, tablet, ...) must have installed an authentication application such as, Google Authenticator application, or Twilio Authy Authenticator or other similar application.\\ \\ The steps to follow are the following: * The user logs into the TAST application with Username and Password. {{ :en:doble_autenticacion1en.png?300 |}} * If the user has not configured the Authentication Application on his cell phone, a QR code and an alphanumeric code will appear on the screen for the user to scan the QR code or enter the alphanumeric code to perform the configuration.\\ \\ The Authentication Application generates a 6-digit code. This code is being renewed every few seconds (approximately 30 seconds). If the user does not enter it before that time, he/she must wait for another code to be generated and enter it in the TAST application.\\ \\ The user must then click on “Submit” for TAST to verify it. If it is correct, you will be logged in to TAST.\\ \\ {{ :en:doble_autenticacion2en.png?300 |}} * If the user has already configured the Authentication Application on his/her cell phone (which will generate a 6-digit code), he/she should proceed as indicated in the previous point. {{ :doble_autenticacion3en.png?250 |}} * If the user has problems accessing or has lost access to the Authentication Application and codes, contact Technical Support at [[tast.support@sipsa.net]]\\ \\ ===== HTML Client ===== The function of the TAST HTML client is to execute the test cases and test sets. ==== Download ==== To be able to use this tool, the first step is to download it from TAST, through the //Client// option that appears in the upper right part of the application. {{:client_eng_1.png?nolink&800|}}\\ \\ The HTML client can be downloaded in two formats: exe and jar.\\ {{:client_eng_2.png?nolink&800|}} * With the **'.exe' option**, a 'tast.zip' file is downloaded, which we will have to save somewhere in our computer, and extract the file that appears inside the zip.\\ This file has the format: //tast_vn.nn.nn//, where 'n.nn.nn' is the version of the HTML client (example: tast_v1.20.23.exe). * With the **'.jar' option**, a 'tast.jar' file is downloaded, which we will have to save in the path:\\ //C:\AppTast//\\ To be able to use //tast.jar// we must also have in the path //C:\AppTast// the file //TAST.cmd//. ==== Functionality ==== The first screen seen when accessing to the HTML Client is the one here below, where the user needs to log in, in order to get into its personal TAST HTML Client. This login can be done with the same credentials than for accessing TAST (i.e. LDAP number N000000 or XI000000 and password). {{ :Client_login_eng_1.png?nolink&600 |}} After clicking the “Login” button, some of the following messages will appear, depending on whether the HTML client version is the last or not: 1- //HTML client version is the last:// {{ :Client_login_eng_4.png?nolink&300 |}} * Clicking '**Yes'** button, all the executions (pending or executed) of the logged-in user will appear. {{ :Client_login_eng_2.png?nolink&800 |}} * Clicking '**No'** button, all executions of the HTML client will be deleted, appearing the empty table. {{ :Client_login_eng_5.png?nolink&700 |}} 2- //HTML client version is not the last:// {{ :Client_login_eng_3.png?nolink&300 |}} * Clicking '**Accept**' button, the window of section 1 will appear, with all the executions (pending or executed) of the logged-in user will appear.\\ \\ At the top of the main window of the HTML client, will appear three options:\\ \\ * Refresh.\\ * Delete.\\ * Schedule. ==== Refresh Option ==== The HTML client window is updated with all the executions that are in that moment, adding: * all the Test Cases launched from the 'Launch Validation' option of [[tast_canvas_2.0#launch_validation|Modeling]]. * all the Test Sets launched from the 'Execute Test Set' option of [[running#test_sets_window|Test Set Management]]. ==== Delete Option ==== Allows to eliminate the selected test cases and test sets. {{ :Client_login_eng_6.png?nolink&800 |}} ==== Schedule Option ==== When clicking on this option, the planned executions that are ready to be executed will appear in the window (according to [[running#planning|Planning]] functionality). ==== Content of the HTML Client Table ==== In this table appears the following information: * **Test Set name:** the name of the Test Case or Test Set. * **Exc.Time(ms):** run time of the Test Case or Test Set, expressed in milliseconds. * **Step:** it is used to indicate the step in which you want to stop the execution. ([[running#debug_mode_execution_in_client_for_tc_validation|Debug Mode]]). * **Debug:** the two icons are only enabled when [[running#debug_mode_execution_in_client_for_tc_validation|Debug Mode]] is used. * **Action:** there are three possible actions:\\ * //execute the test case / test set:// can be used when the icon{{:Client_login_eng_8.png?}}appears. * //stop the test case / test set:// once the execution has started (the icon{{:Client_login_eng_9.png?}}appears), it can be stopped by clicking on that icon.\\ \\ When the execution stops, will be shown the following window:\\ \\ {{ :Client_login_eng_7.png?nolink&300 |}}\\ * //restart the test case / test set:// once the execution has been paused (appears{{:client_login_eng_10.png?|}}in //Status//). It can be restarted by clicking on the {{:Client_login_eng_8.png?|}}icon.\\ \\ * **Status:** shows the status of the executions. It can contain the values:\\ \\ {{:Client_login_eng_11.png?|}} the test case / test set has not yet been executed.\\ {{:Client_login_eng_12.png?|}} the test case / test set has been executed and finished ok.\\ {{:Client_login_eng_13.png?|}} the test case / test set has been executed and finished ko.\\ {{:Client_login_eng_10.png?|}} the test case / test set has been pause.\\ {{:Client_login_eng_14.png?|}} when the evidences can not be uploaded and recorded correctly in the NAS where the results are stored.\\ \\ * **Logs:** clicking on this option, the client opens an explorer window with the path where are the following files: * logs of the execution, * screenshots (if previously indicated), * other files (if proceeds) result of the execution: excel, scripts,...\\ \\ =====Filters in Tast Client===== {{ :es:filtros_en_el_cliente_tast.png?direct&400 |}} You can filter elements in the Client table using these 3 fields: * Test case name, * Last execution date, * Status These filters can be used individually or together. {{:es:filtros_en_el_cliente_tast2.png?50|}}Clicking on the Filter table button applies the filters entered in the fields to the table\\ {{:es:filtros_en_el_cliente_tast3.png?50|}}Clicking on the Clear filters button clears the filter fields and resets the table to its original state Filters will be applied to test cases, i.e. test case data belonging to a test set, and to validation test case data. ====Test case name==== In the filter Test set name you can use: * Logical operators: OR, AND, NOT * asterisk *: alone, or at the end of a string * double quotes “: to delimit names containing blank spaces * upper or lower case: is the same Note: The test case data prefix “tcd_” or test case validation prefix “tcv_” are ignored in comparison.\\ \\ Some examples in this field:\\ * “test excel” (testcases whose name is equal to “test excel”) * bbdd* OR “test excel” (testcases whose name contains the string “bbdd” or is equal to “test excel”) * NOT xml* (testcases whose name does not contain the string “xml”) * Test* AND NOT xml* (testcases whose name contains the string “test” and does not contains the string “xml”) ====Last execution date==== In the filter Last Exec. date you can use: * Asterisk *: alone, indicates any date * Hyphen - : delimiter between 2 dates * Date formats supported: "dd.MM.yyyy HH:mm" y "dd.MM.yyyy"\\ Some examples in this field:\\ * * (testcases executed at any date) * 23.09.2024 08:40 (testcases whose last execution date/time is less than or equal to 23/09/2024 08:40) * 23.09.2024 (testcases executed until 23/09/2024. In this case, since the time has not been indicated, the first hour of that day is taken by default, so the testcases whose last execution date/time is less than or equal to 23/09/2024 00:00 will be displayed). * * - 23.09.2024 08:40 (testcases whose last execution date/time is less than or equal to 23/09/2024 08:40) * * - 23.09.2024 (testcases executed until 23/09/2024. In this case, since the time has not been indicated, the first hour of that day is taken by default, so the testcases whose last execution date/time is less than or equal to * 23/09/2024 00:00 will be displayed). * 23.09.2024 08:40 - * (testcases whose last execution date/time is greater than or equal to 23/09/2024 08:40) * 23.09.2024 - * (testcases executed from 23/09/2024. In this case, since the time has not been indicated, the first hour of that day is taken by default, so the testcases whose last execution date/time is greater than or equal to 23/09/2024 00:00 will be displayed). * 25.04.2024 17:18 - 23.09.2024 08:40 (testcases executed between that date range, that is, whose last execution date/time is greater than or equal to 25/04/2024 17:18 and less than or equal to 23/09/2024 08:40) * 25.04.2024 - 23.09.2024 (testcases executed between that date range, in this case, since the time has not been indicated, the first hour of both days is taken by default, so the testcases whose last execution date/time is greater than or equal to 25/04/2024 00:00 and less than or equal to 23/09/2024 00:00) ====Status==== In the filter Status you can use: * Logical operators: OR, AND, NOT * Keywords accepted: OK, KO, executed, notexec or notexecuted * Upper or lower case: is the same\\ Some examples in this field:\\ * OK (testcases executed with result OK -green-) * ok OR ko (testcases executed with result OK -green- or KO -red-) * OK or KO or NotExec (testcases executed with result OK -green- or KO -red-, or those not yet executed) * Executed (testcases executed, regardless of their green or red result) * NOT ok (testcases without OK result. So this includes the testscases not yet executed as well as those with KO result) * Executed and not ko (only the executed testcases with OK result. Note this example is similar to the first one). **IMPORTANT:**\\ \\ if one or more filters were applied to the table, when you try to run the test set, only the testcases that were filtered will be run.\\ \\ For example, if you filtered the table with the field Status = “KO OR notexec”, when you click on the **Run Test Set button**, only the testcases with status KO and Not executed will be executed. That is, it only executes the testcases that appear in the filtered table.\\ \\ Finally, we have a third help button: {{ :es:filtros_en_el_cliente_tastayuda1.png?direct&400 |}} By clicking on this button, a screen appears with all the necessary help to filter the elements using these three fields. {{ :es:filtros_en_el_cliente_tastayuda2.png?direct&400 |}}