How to prevent ReadyAPI from randomly changing how it stores empty XML elements?
Why does ReadyAPI change how it stores a blank XML tag from, say
<con:properties/>
to
<con:properties></con:properties>
If I make one change and save, I may see many of these differences, which complicates review of the code.
I see this in projects where Composite project is false, and in projects where it is true.
The representation of blank XML elements is one of many things about how ReadyAPI stores a project that seem to change at random with each new version or sometimes randomly within the same version.
I have tried setting the flag "Pretty prints project files", but this is not sufficient to stop this noise.
Is there some other flag I can set so that the method for encoding the project doesn't obscure actual logic changes when I look at the differences? Preferably something that gets remembered in the project, rather than depending on a user setting?
References: The following are a few postings that seem relevant, but don't clean up the random XML representations.
"Version control - Diff is very confusing for ReadyAPI projects?" https://community.smartbear.com/t5/API-Functional-Security-Testing/Version-control-Diff-is-very-confusing-for-ReadyAPI-projects/m-p/209420#M47734
- Answer: Yes, currently, if you change one thing in ReadyAPI, several things in different places of the project might change as well.
"How do I minimize merge conflicts in a ReadyApi composite project when working as part of a team?" https://community.smartbear.com/t5/API-Functional-Security-Testing/How-do-I-minimize-merge-conflicts-in-a-ReadyApi-composite/m-p/141151
- No accepted answer
- Recommendation to check the flag "Pretty prints project files"
"While this allows you to see exactly what has changed when diff-ing versions, it does have the problem that this is an application setting, thus you have to make sure all users set this value manually on their copies of ReadyAPI (If a user does not set this in their copy ReadyAPI it will revert to saving on a single line). Ideally I would like to see this as a project setting."
So the solution really is: You can't prevent it. Whenever you upgrade, the new version of ReadyAPI will do whatever it wants with regard to the empty XML fields... some versions will generate a beginning tag and end tag <tag></tag>, then the next version may decide to use the shortcut <tag/>, and the version after that may revert to the expanded <tag></tag> again, and there is nothing to be done but allow it. 😞