#1: You must use tabadmin syncgroup for the Report Developers Group with --role "Publisher". Alternatively, you can use the Server API to change their roles. See Update User.
If you know Python, there's a great client written for it that makes talking to the REST API pretty easy. Powershell would be fairly nice to work with too, I would think.
All that aside, this is a fairly complex process just for testing. Have you considered using a different method, such as using Sites or Projects to denote test workbooks/data sources--then publish them to the official project / site when cleared? That's how we approach it. That strategy might not be advisable if you are doing load-testing on the new content being developed, but typically that'd be a server-wide QA activity, suitable for something like a major upgrade.