I did not mean to check out a new version of tclwebtest on each test run, I was just trying to make the automatic CVS check out work at all. I meant to get the latest version of the software being tested, e.g. in your case dotlrn. Checking out the test software itself does not really make sense, except being a funny example, and certainly added some confusion.
File upload is important and it's on the TODO list, but I don't have time right now to add it (I will accept patches of course 😉.
Regarding the select widgets - instead of doing a
field select $labeltext
you can directly set the value of a select field with
field fill $new_value
This will also accept values that are not in the option list.