Variables and Functions.
User-defined procedures are available in 1.3.6 which allows to create a reusable blocks of code and make you tests more laconic and easy-maintaining.
In addition to a Parameter Context where you define global variables, now you can declare your immutable variables, pass its value as an argument and write your own procedures.
Content assist is available in ECL editors making its usage quite convenient.
See Procedures and Variables post for more info.
Now you can verify the result of the test by adding verifications. Verifications are executed at the end of the test and verifies the whole widget state – no need to add its properties one by one (as if you add an assertion).
Text verifications allow you to verify Text or Styled text. Time verification checks that test execution time doesn’t exceed a defined value.
This is just a beginning, more verification types are coming, such as: Tree, Table and Error Log verifications. Further plans include context menu verifications and screenshot verifications (for custom canvas-based controls like some charting).
Verification usage post will be ready soon.
Table items capturing improvement.
Now Q7 can get/select table items by column name which prevents -index appearing in a test code and makes test more stable.
So, imagine there is a table with a checkboxes in a first column. So clicking a 2nd row checkbox recorded the following code before:
select "" -index 1 | check
Now if there is no text in a first column, we take the first column with non-empty text and use it for a selection:
select NewAssociatedTask -column Description get-cell 1 0 | check
The first option was guaranteed to be failed in case we add a few new rows in a table above the selected one. The second code will pass since it takes an item by its column value.
Basic arithmetics commands.
We started from the following ones:
- plus - returns the sum
- minus - returns the difference
- div - returns the result of dividing
- mult - returns the result of multiplication
- abs - returns the absolute value
So the code example may look like
int 5 | plus 6 | minus 21 | div 2 | abs | eq 5 | assert-true
For a whole list of new features and fixes see 1.3.6 Release Notes.