I would not use Plex Web for real time testing due to the caching in web browsers.
I use Roku. But any client is better than Plex Web. PHT is another good client. You can install it on the same computer as your PMS and your code editing, but I like being able to look at my code on Notepad++ (my code editing software) and/or the logs at the same time I am looking at the Plex player/client screen when I test changes.The Android or iOS app, anything is better than PlexWeb.
And you do not have to be perfect at Python. You just need to use a client that doesn’t have a cache. My xpath, syntax and every other part of my programming is usually full of issues I have to fix along the way. With the Roku, I just save the changes in Notepad++ and then back out and reenter that directory on the Roku to see the changes I just made (or the channel, if I edit the main or start menu) and if I get a content unavailable error, it shows up in the logs right away.
Now once I have the channel working the way I want, I will try it with PlexWeb, just to make sure it works the same way in multiple clients.
Also when you fix a syntax/indention error that causes the channel to not open or freeze up, it will take anywhere from 2-5 minutes for the error to clear in the logs after you have updated your code, but you do not have to reboot Plex Media Server.
You should only have to reboot Plex Media Server when you alter the plist files (ServiceInfo.plist or Info.plist). Which I admit is usually my bigest annoyance because my regex is horrible.
And also realize that some errors in your URL service may show up in the specific channel log and some may only show up in the system log. It depend on the client you are using and at what point in the process of calling the URL service the error occurs. (Most clients do a URL lookup to pull all the media object data including metadata, but the Roku uses the metadata in the channel xml and then just makes a request for the key data).