Hi all,
I have had an idea in the back of my mind to build a “zero-configuration” smoke testing system that would put a web tool like Sakai or Tsugi through its paces without the need for any pre-built functionality tests.
The idea is to treat the site as a “site” and crawl every link from every page - like a web crawler would do and note any pages that cause errors for later verification. Eventually this tool could run on every version and see if something regressed or got fixed. It does not fill out forms or submit data - it just click on every url and loads every referenced file until It has hit every page in the system.
I have a really simple MVP working at:
It can go after a Sakai on port 8080 or a web site like
http://www.tsugicloud.org - it has some special login stuff for Sakai that I need to factor into a plugin once I have it working.
If you point it at a Sakai on localhost - it will run thousands of clicks and find a few errors. See the README for more details.
This is early days and just a nugget of an idea that I have to build something that can make both Sakai and Tsugi (and any web site) better. As an example it seems to like
www.sakailms.com pretty well.
Have fun and watch this space.
/Chuck
$ rm smoker.sqlite
$ python3 smoker.py
How many pages:10000
...
No unretrieved HTML pages found
$ python3 broken.py
403 211 application/xml
404 2866 text/html;charset=utf-8
404 2866 text/html;charset=utf-8
404 2866 text/html;charset=utf-8
4 rows.