Sharing a project, via git or otherwise, Readyapi version 3.20.1
We are a team of 3 persons who want to share a collection of Api-tests. Not all of us are technically experienced users.
Each of us has git, and ReadyApi v 3.20.1
We are struggling to share our tests in a reliable way.
We use a composite project.
We arranged that each works on his own branch and will exclusively work on one testsuite at a time, and will merge after being ready.
Three problems stand in our way:
- ReadyApi is seeing actions as opening a testsuite (clicking on a '+'), running tests etc as changes to the project, and it is hard to discern which change is meaningful and which is not
- resolving merge problems is hard to do with ReadyApi files
- ReadyApi has a git feature now, but discarding changes does not work. It seems to be impossible to discard individual file changes. We have not much trust in the feature and try using git via commandline.
In another project in the past, we used a composite project, and each made its own branch, committed only changes to the testsuite he was working on and merged via Bitbucket. In case of a merge conflict, the merge was discarded, changes where exported to a local map, a new branch was made, changes were imported and a merge was done.
In one another project each time a new test had to be made we added a new Readyapi project to the repository with the new test, and no merges whatsoever where made.
We are looking for a reliable, fool proof, non-frustrating way of sharing Api tests. Does anyone has a way of working to be shared?
I had a quick google and there seems to be lots of people on web talking about problems with ReadyAPI merge conflicts. You mention youre using got for version control, but not what youre using as your code repository (you do mention other projects using bitbucket).
You mention if you expand a testsuite that introduces a change....for this id suggest collapsing the whole project in the tree, before pushing your changes. If everyone collapses the tree before a push, then that might sort that problem. I cant give you the benefit of my current experience, cos....well.....my place is saving projects as single flat .xml files and the version management software is TFVC! (yeah....dont ask.... 😉).
However, ive done a bit of googling and the following is the result:
Make sure everyone has the pretty print option enabled (its stored in the wsdl preferences)....it'll align the content and keep everyones file formatting aligned (also helpful if you do have to do a manual compare)
Next...i found these helpful points too:
1. Never ever save your Project by pressing Ctrl+S, instead of that save a particular test by right click on test --> Composite Actions --> Save TestCase
2. If any new properties added to Test Suite then add them manually by updating relevant Settings. xmlOpen Setting-xml in Notepad Editor and add new property node as shown below. <con:properties><con:property>
3. Similar approach for Project level properties, add them manually by opening settings.xml in notepad++ editor and then save
4. Addition of new tests should be also added to element.order manually and save
@nmrao posted a fix for the issue of dynamic property values changing each run. He create a script that clears out the property values before the push to remote. See here -->> https://community.smartbear.com/t5/ReadyAPI-Questions/Solution-Script-to-Cleanup-of-Custom-property-...
There's another link i found that provides some tips too -->> https://macadamianlabs.medium.com/tactics-to-overcome-version-control-issues-in-readyapi-38f724ca482...
Finally, you might want to see if adding anything to gitignore helps at all.
Ok....thats all i got im afraid!
Thank you for your extensive answer.
A quick reply:
- We don't use a repository hosting service like Bitbucket yet. I couldn't find information about it being necessary yet. If so, I would like to find more about it.
- I did see the solution posted by @nmrao. I do wonder whether is a less code centered way of working around code sharing issues.
- The points you mentioned about saving testsuites and editing property files where what we ended up in a previous project too. It is good to see them confirmed though.
I will not flag the post as solved yet, as I am curious about other ways of working by other teams and I hope for more replies. As I mentioned we don't have git experienced users in our team and I still find it a bit puzzling that a much used solution like ReadyApi does not have a simple, reliable way of sharing tests with a much used versioning tool as Git or otherwise.