Smart Assertions are very useful when having lots of data that need to be asserted. However currently there are a few issues that make it more difficult then it needs to be:
1. No Search Facility that allows quickly to jump to an item.
2. No conditional flow where assertions can be managed depending on some response details.
3. No facility to deal with lists that are unsorted and can be in a different order each time.
4. No facility to convert the Smart Assertions to Groovy Script which would make it useful as a tool to get a basic script with all the assertions that can be further edited to deal with special cases.
Our responses contain hundreds of pieces of data that need to be evaluated. The Smart Assertions are great for quickly generating the assertions of a response but since we have many lists which don't arrive in a specific order, this does not work very well for us. If the Smart Assertions could recognise lists and pre-order them before assertion this would solve this problem and save us a lot of time.
We also have an issue with repeated properties like for example version numbers that we only want to change once and then have it used in many places. However using a property only works as long as the data doesn't change. When data changes and we have to make a "Load from Transaction" again, those properties have to be added again. It would be nice to have something like an "Update from Transaction" that notices changes but doesn't overwrite existing items that haven't changed and preserves the properties being used. A differential dialog might be useful here when updating where we can see the changes, modify them if necessary or have them applied.
Another great feature would be a conversion from Smart Asserts to Script. Other test applications that we use for desktop applications already can do this and it would be nice if SmartAPI also would be able to generate a script from the Assertions. This would help with situations where we need to have lots of special flows , loops and transformations of data but don't want to always have to write each assert from scratch.