Apica table Server will help to accomplish the data sharing across the scripts during the execution, eliminating the need to attach data to the ZT script before executing to manage data. The ATS tool provides a shared data table that can be accessed by multiple scripts during the execution to manage data ( CRUD operations)
To communicate with ATS for data retrieval and feeding, ZebraTester now includes new inline functions.
ZebraTester - ApicaTableServer work flow
Release Notes Pages
https://files.apicasystem.com/proxysniffer/prxfiles/V70B/doc/ApicaTableServer.pdf
Installation and Starting ATS
The ATS User Interface
Accessing the ATS with Inline Scripts
ZebraTester inline functions to interact with ATS
getTableRow(tableName, columnNames) Retrieves the first row of each column given. columnNames separated by semicolon
getTableRowByColumn(tableName, matchColumnNames, matchColumnValues, outputColumnNames) Retrieves the first row of column values that matches given column names and values. User can also supply the output columns to be retrieved , but it is optional . In case of multiple input, the values of matchColumnNames, matchColumnValues and outputColumnNames should be separated by a semicolon
getTableColumn(tableName, columnName) Retrieves the first row in that column setTableRow(tableName, columnNames, columnValues, type) Set the values of a row in a table(columnNames and columnValues separated by semicolon). Value of type can be ROW or UNIQUE or STACKED
setTableColumn(tableName, columnName, columnValue, uniqueFlag) Set a value to a single column of the table. Value of uniqueFlag can be 0 or 1
updateTableColumn(tableName, columnName, columnValue, uniqueFlag, rowIndex) Update a value to a single column of the table by row index. Value of uniqueFlag can be 0 or 1
getTableSize(tableName, columnName) Get the total size of the table on ATS . columnName is optional, it will be useful when there is a need to get the size of the particular column
1. Retrieve column values from a table
GET url - http://127.0.0.1:8992?cmd=ats_retrieve_row - Suits performance testing use cases
body JSON- {
"TableName”: "table_name",
"ColumnNames”: ["column_name1","column_name2"]
}
This API call will give different column values for each request ,that means once a value is retrieved, it had been marked as retrieved and cannot be retrieved again
2. Set values of multiple columns in a table
POST url - http://127.0.0.1:8992?cmd=ats_send_row
body JSON - {
"TableName”: "table_name",
"ColumnNames”: ["column_name1","column_name2"],
"ColumnValues”: ["column_value1","column_value2"],
"Type”: "ROW"
}
Type have three values ROW, STACKED and UNIQUE
3. Retrieve a column value from a table - Suits performance testing use cases , but can be used for other use cases with the help of RowIndex
GET url - http://127.0.0.1:8992?cmd=ats_retrieve_column
body JSON- {
"TableName”: "table_name",
"ColumnName”: "column_name"
}
By default this API call will give different column values for each request ,that means once a value is retrieved, it had been marked as retrieved and cannot be retrieved again. But in some cases if you want to retrieve always the same value , you need to pass the third parameter RowIndex
4. Set a column value in a table
POST url - http://127.0.0.1:8992?cmd=ats_send_column
body JSON- {
"TableName”: "table_name",
"ColumnName”: "column_name",
"ColumnValue”: "column_value",
"Unique”: true
}
5. Update a column value by row index in a table
POST url - http://127.0.0.1:8992?cmd=ats_update_column
body JSON - {
"TableName”: "table_name",
"ColumnName”: "column_name",
"ColumnValue”: "column_value”,
“Unique”: false,
" RowIndex “: 1
}
6. Get the size of a table or column in a table
POST url - http://127.0.0.1:8992?cmd=ats_retrieve_table_size
body JSON - {
"TableName”: "table_name",
"ColumnName”: "column_name" ColumnName is optional
}
7. Retrieval of rows based on multiple column names and values. This API also supports an optional input OuputColumnNames, the column names in rows to be retrieved based on the matching column names and values
GET url - http://127.0.0.1:8992?cmd=ats_retrieve_row_by_column
body JSON- {
"TableName”: "table_name",
"MatchColumnNames": ["column_name1",”column_name2”],
"MatchColumnValues" : ["column_value1","column_value2"]
}
8. Save a table after you have called any of the above APIs
POST url - http://127.0.0.1:8992?cmd=ats_save_table
body JSON - {
"TableName”: "table_name"
}
9. Retrieve all the records in a particular table
GET url - http://127.0.0.1:8992?cmd=ats_retrieve_all_rows
body JSON - {
"TableName”: "table_name"
}