<div dir="ltr">On Sun, Mar 29, 2015 at 12:45 PM, George Hunt <span dir="ltr"><<a href="mailto:georgejhunt@gmail.com" target="_blank">georgejhunt@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I woke up thinking that a little time spent on testing automation might be appropriate. And I'm searching for ideas.<div><br></div><div>Tony presents a wrinkle I had not thought of: how to automate clicking on GUI buttons.</div><div><br></div><div>I can extend Tim's test script, such that it queries the target for "server mode"(appliance, lan-contoller,gateway) and only tests the functions that are appropriate.</div><div><br></div><div>Each machine, or at least software install, can be assigned a UUID.</div><div><br></div><div>The test script could output a text file in sqlite format, as well as to the screen.</div><div><br></div><div><div>One of the fields in the sqlite database could store the /etc/xsce/xsce.ini file, or we could parse that file, and populate individual fields, as appropriate.</div></div><div><br></div><div>Sqlite is a format that is recognized by couchdb, and I think couchdb can roll up to the cloud easily.</div><div><br></div><div>Tim's cmdsrv interface seems to lend itself to automated testing pretty well -- in that a script can send events to the cmdsrv.socket, just like the GUI does.</div><div><br></div><div>I don't know JavaScript and DOM well enough. Are there ways that JS can click buttons in the proper sequence to test arbitrary GUI applications?</div><div><div><br></div><div>I liked the <a href="http://laptop.org" target="_blank">laptop.org</a> page we had which had a matrix of services on one axis, and platforms on the other axis. The matrix started out untested (yellow), and turned green or red based upon test results.</div></div></div></blockquote><div><br>Specifically, <a href="http://wiki.laptop.org/go/XS_Community_Edition/0.4/Testing/Results">http://wiki.laptop.org/go/XS_Community_Edition/0.4/Testing/Results</a> <br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>Are there any other ideas?</div></div></div></blockquote><div> <br></div><div>Am cc'ing server-devel in case others can recommend?<br><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra">On Sun, Mar 29, 2015 at 6:59 AM, Tim Moody <span dir="ltr"><<a href="mailto:tim@timmoody.com" target="_blank">tim@timmoody.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">George, I'm guessing that the 'it' in 'it doesn't work' is the install, which uses the HaitiOS script and is therefore dependent on a particular OS and machine. The tests themselves should work on other XOs and to a lesser extent in other environments, except for the XO specific tests like idmgr and ds-backup that run as olpc.<br>
<br>
I have added instructions for manually installing to the README.<br>
<br>
Tony, a number of these tests connect to a particular url on the server and look for a known string in the result. Probably your buttons could be tested this way.<br>
<br>
I'm sure there is a great deal more that needs to be added, but I find that this test runs in about 15 seconds and tells me if one of the things it knows about didn't get installed or isn't running.<br>
<br>
Anyone can feel free to add more tests.<br>
<span><br>
-----Original Message-----<br>
From: <a href="mailto:unleashkids@googlegroups.com" target="_blank">unleashkids@googlegroups.com</a> [mailto:<a href="mailto:unleashkids@googlegroups.com" target="_blank">unleashkids@googlegroups.com</a>] On Behalf Of Tony Anderson<br>
Sent: Saturday, March 28, 2015 11:33 PM<br>
To: <a href="mailto:unleashkids@googlegroups.com" target="_blank">unleashkids@googlegroups.com</a><br>
Subject: Re: [UKids] Enthusiasm for a Centos School Server is wonderful<br>
<br>
</span><div><div>Hi, George<br>
<br>
Automating tests for the school server would be wonderful but is clearly a major project.<br>
<br>
Currently I test manually by clicking all the buttons to see that I get the right response. Luckily, I don't have to deal with the many network environments that XSCE is attempting to support so that should make it simpler.<br>
<br>
However, the current content has 26 major buttons to be tested. Some of these (e.g. Gutenberg search) would require a succession of urls to get to the final deliverable.<br>
<br>
I have also added a learning management and library capability that would require test retrievals of database records (another 5 major buttons).<br>
<br>
Finally, I would need to have a test of the datastore backup/restore, collection of results of activities into the db.<br>
<br>
So, the manual tests are easy but it is hard to make sure you have completely tested a new install.<br>
<br>
Tony<br>
<br>
On 03/29/2015 06:36 AM, George Hunt wrote:<br>
> And testing is going to be a lot rough at first. I started using Tim's<br>
> suggestion to build up an automated server from<br>
> <a href="https://github.com/XSCE/xsce-tests" target="_blank">https://github.com/XSCE/xsce-tests</a>. But when it didn't work, I<br>
> discovered that I was using an XO1.5, and the code had been written<br>
> for an XO1, but the documentation didn't indicate anything about the<br>
> hardware platform.<br>
><br>
> In any case, if you clone <a href="https://github.com/XSCE/xsce-tests" target="_blank">https://github.com/XSCE/xsce-tests</a>, you<br>
> don't need to go through all the process of making a stick, and<br>
> loading it on a XO1 using tiny core linux. The useful scripts are in<br>
> the /testing folder. You can use git directly on an XO to fetch them.<br>
><br>
> And then the scripts themselves will need to be modified I think,<br>
> based upon which server mode you are testing (appliance,<br>
> lan-controller, or gateway). An appliance exists on an infrastructure<br>
> which already has gateway, dhcp, dns, etc). A lan-controller is<br>
> sufficient to itself, and gateway is a lan-controller plus. Obviously<br>
> not all test are appropriate in every mode.<br>
><br>
> I will be the guinea pig, and start testing my rpi2 installation, and<br>
> share with you all the trials and tribulations. For that purpose I<br>
> have created a public spread sheet, (now mostly empty) which I will<br>
> use to document my testing progress. I invite everyone to contribute<br>
> and tweak that page, and maybe collectively, we can make it a snapshot<br>
> of what works and doesn't.<br>
><br>
> This new publicly writeable sheet (with this link) is at<br>
> <a href="https://docs.google.com/spreadsheets/d/18Y07kuAiHyMGJNQLydgo7GbuHShu_F" target="_blank">https://docs.google.com/spreadsheets/d/18Y07kuAiHyMGJNQLydgo7GbuHShu_F</a><br>
> 5BQWA3egt_1PU/edit?usp=sharing<br>
><br>
<br>
--<br>
Unsung Heroes of OLPC, interviewed live @ <a href="http://unleashkids.org" target="_blank">http://unleashkids.org</a> !<br>
---<br>
You received this message because you are subscribed to the Google Groups "Unleash Kids" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:unleashkids%2Bunsubscribe@googlegroups.com" target="_blank">unleashkids+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/optout</a>.<br>
<br>
--<br>
Unsung Heroes of OLPC, interviewed live @ <a href="http://unleashkids.org" target="_blank">http://unleashkids.org</a> !<br>
---<br>
You received this message because you are subscribed to the Google Groups "Unleash Kids" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:unleashkids%2Bunsubscribe@googlegroups.com" target="_blank">unleashkids+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/optout</a>.<br>
</div></div></blockquote></div><br></div></div></div><div class=""><div class="h5">
<p></p>
-- <br>
Unsung Heroes of OLPC, interviewed live @ <a href="http://unleashkids.org" target="_blank">http://unleashkids.org</a> !<br>
--- <br>
You received this message because you are subscribed to the Google Groups "Unleash Kids" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:unleashkids+unsubscribe@googlegroups.com" target="_blank">unleashkids+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/optout</a>.<br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">Unsung Heroes of OLPC, interviewed live @ <a href="http://unleashkids.org" target="_blank">http://unleashkids.org</a> !</div></div>
</div></div>
</blockquote></div></div></div>