The main case for this is for automated end-to-end and regression testing.
Currently there is no way to identify an individual element for introspection by UI testing tools.
For example, this element
represents the Search element in this screen shot. It would be nice to have the LANSA Control Name (or Indentifier) included in the HTML as either a class selector or as a data attribute. That would allow the control elements to be found with most modern UI testing tools.
Code: Select all
<input spellcheck="false" class="vl-input-hideclear" type="text" tabindex="0" style="padding: 0px; white-space: pre; background: rgba(0, 0, 0, 0); position: absolute; overflow: auto; box-sizing: border-box; border-style: none; outline: none; border-width: 0px; cursor: text; resize: none; left: 0px; width: 217px; height: 21px; text-align: left; font-family: Roboto, verdana; font-size: 14px; font-weight: normal; font-style: normal; text-decoration: none; top: 0px; color: rgb(48, 48, 48);">
We could then have a test that states something along these lines:
- Go to this url
- Find element #WK_SEARCH (done by using class selector or data attribute that contains field identifier)
- Type 'yancey' into element
- Find element #SEARCH_BUTTON (done by using class selector or data attribute that contains control name)
- Click element
- Find element #DATA_LIST (done by using class selector or data attribute that contains control name)
- Assert that 'Yancey, .....' is in #DATALIST
On a side note, this could be small step in the pursuit of a CD/CI pipeline, which could (hopefully) include a command line tool to interact with Visual LANSA without going through the UI (to trigger things like check out / readonly of lists, compliles, creating deployment packages etc.).