Yesterday, was happy to hear that Git integration for recorded tests is slated for release next year in Feb.
That’s awesome news (and a really important feature we eagerly await utilizing)!
In the mean time, some additional information regarding about how the new Git integration feature will work would be extremely helpful (and help users ensure they create and structure recorded tests so that they fully leverage Git integration). Specifically, it would be helpful to know a bit more regarding the following:
Will Git integration support integration with TFS/Azure DevOps Server (at least repos where Git is used instead of TFVC)?
With Git integration of recorded tests how will the elements referenced in the recorded test (those shown under “Elements”) be handled (hopefully also stored in Git as well)?
Being able to maintain the chosen locator for each element via Git would allow recorded tests some of the same advantages coded page-object-model based tests have. Regardless, it would be very useful to have a way to see how element locators change over time…
What will determine the Git branch recorded tests (and hopefully elements) get mapped to?
How will Git integration handle scenarios where recorded tests utilize elements also reference by other recorded tests? This is an important scenario to consider, since tests could potentially belong to different Git branches.
How will Git integration handle tests (and their elements) when they’re copied/moved to a different project?
How will Git integration handle tests (and their elements) when the application context changes?
I am especially curious regarding the last 4 questions, because I am still a bit uncertain how TestProject handles elements in certain scenarios. Elements, by design, are often used by multiple different recorded tests. These tests may be related to different applications (which may have different Application Strategies for element locators).
For example: For a given project, by default, recorded tests store elements for recorded test steps in the element library folder for the application the test is related to. It is also possible to over-ride this behaviour and assign elements from other folders in the element library (f.ex. elements in a folder not related to an application - or even, I believe, elements related to other applications).
This allows for scenarios where:
The AI mechanism may act on the same element with different contexts
(i.e. different Application Strategies)
Changes to recorded tests in different Git branches may impact the same element
(i.e. a test run in one branch could trigger changes - to elements - that impact tests in other branches).