<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
For the Sugar Network project we used Selenium UI testing.<br>
Basically you can record a standard interaction with a Firefox
plugin [1].<br>
<br>
This in turn produces scripts that can be used in a server with an
embedded firefox browser. At the time, I integrated this with the
Jenkins continuous integration system.<br>
<br>
I recomend Selenium for semi-automated testing, that is, from your
browser. It helps to automate testing an entire workflow or use
case, for instance.<br>
<br>
Helps to work in a more agile fashion.<br>
<br>
The automated bit took a while to set up but did warn us early when
something broke. It would run all the tests for every git commit.<br>
<br>
Hope it helps,<br>
Sebastian<br>
<br>
[1] <a class="moz-txt-link-freetext" href="http://docs.seleniumhq.org/projects/ide/">http://docs.seleniumhq.org/projects/ide/</a><br>
<br>
<br>
<div class="moz-cite-prefix">El 29/03/15 a las 11:58, Adam Holt
escibió:<br>
</div>
<blockquote
cite="mid:CAHaBuGfbSAskfwzni4yLOeYPzas501n3+GnB=PLRXRwFOM1T+w@mail.gmail.com"
type="cite">
<div dir="ltr">On Sun, Mar 29, 2015 at 12:45 PM, George Hunt <span
dir="ltr"><<a moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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
moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:unleashkids@googlegroups.com"
target="_blank">unleashkids@googlegroups.com</a>
[mailto:<a moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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
moz-do-not-send="true"
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 moz-do-not-send="true"
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
moz-do-not-send="true"
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
moz-do-not-send="true"
href="mailto:unleashkids%2Bunsubscribe@googlegroups.com"
target="_blank">unleashkids+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a
moz-do-not-send="true"
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
moz-do-not-send="true"
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
moz-do-not-send="true"
href="mailto:unleashkids%2Bunsubscribe@googlegroups.com"
target="_blank">unleashkids+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a
moz-do-not-send="true"
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">
-- <br>
Unsung Heroes of OLPC, interviewed live @ <a
moz-do-not-send="true" 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
moz-do-not-send="true"
href="mailto:unleashkids+unsubscribe@googlegroups.com"
target="_blank">unleashkids+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a moz-do-not-send="true"
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 moz-do-not-send="true"
href="http://unleashkids.org" target="_blank">http://unleashkids.org</a>
!</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
-- <br>
Unsung Heroes of OLPC, interviewed live @ <a
moz-do-not-send="true" href="http://unleashkids.org">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 moz-do-not-send="true"
href="mailto:unleashkids+unsubscribe@googlegroups.com">unleashkids+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a moz-do-not-send="true"
href="https://groups.google.com/d/optout">https://groups.google.com/d/optout</a>.<br>
</blockquote>
<br>
</body>
</html>