One of my current side projects is updating the Selenium driver
listings found here:
http://code.google.com/p/ubiquity-xforms/source/browse/trunk/testsuite/W3C-XForms-1.1/Edition1/driverPages/SeleniumTests/
These pages are what you see in the left most column when executing
tests with the manual Selenium interface. The problem is that while
the test suite has been continuously updated, these pages have fallen
out of date. So with that said, I propose amending the updating
process to include regenerating these files. While doing this in
itself is a trivial process, the real issue is that some of the tests
have been manually flagged within the various listings. These flags
include the unless="true" attribute on <tr> tags and a red styling on
some of the links. From what I understand, the red style is supposed
to mean that the test is incapable of being automated, while the
unless="true" attribute removes the test from the queue. Could someone
explain why there are two systems at play? I see no reason not to
amalgamate the two under the unless="true" flag, as if the test can't
be automated then there is no sense in having it executed by Selenium.
Furthermore, another problem is that the individual chapter listings
and the all encompassing listing are not in sync; the same test is
marked differently in the chapter listing as the total listing. What
I'd like to do is abstract this information to a separate XML file to
make maintenance easier, however this begs the question, which
listing's flags are correct? I'd like to avoid manually verifying
these flags if possible as there are 60-70 tests that would need to be
reviewed.
So in short, I suppose my query comes down to this: should I preserve
the red styling separate from the unless="true" flag, and secondly,
should I use the flags in the chapter listings, or the
W3CTestSuite.html file, or some combination of the two? Any guidance
on these issues would be appreciated.
Thanks,
Scott
> One of my current side projects is updating the Selenium driver
> listings found here:
> http://code.google.com/p/ubiquity-xforms/source/browse/trunk/testsuite/W3C-XForms-1.1/Edition1/driverPages/SeleniumTests/
Great! :)
> These pages are what you see in the left most column when executing
> tests with the manual Selenium interface. The problem is that while
> the test suite has been continuously updated, these pages have fallen
> out of date. So with that said, I propose amending the updating
> process to include regenerating these files.
Excellent.
If you haven't seen it already, can I direct you to a new build.xml
file that Phil has created in the root directory? The plan is to have
all tools, processes, conversions, etc., driven by this one file. At
the moment we have a number of them scattered around various
directories, but it makes it difficult to share paths and other
information between them (not to mention difficult to find them). So
we're moving them up to the top, and deleting as we go.
Also, if the associated XSLT files can go in the new 'tools' directory.
> While doing this in
> itself is a trivial process, the real issue is that some of the tests
> have been manually flagged within the various listings. These flags
> include the unless="true" attribute on <tr> tags and a red styling on
> some of the links. From what I understand, the red style is supposed
> to mean that the test is incapable of being automated, while the
> unless="true" attribute removes the test from the queue. Could someone
> explain why there are two systems at play? I see no reason not to
> amalgamate the two under the unless="true" flag, as if the test can't
> be automated then there is no sense in having it executed by Selenium.
Difficult to answer this politely. :)
I think the person who added the red styling only ever saw the tests
as being run manually. (The fact that many tests rely on messages is a
similar reflection of the same thing.) But you are right that the
styling can be dropped, and the @unless="true" can be used instead.
I'm sure it's obvious, but there are some tests that will be never be
'automatable' -- the email tests, for example, open local machine's
email application, which cannot be tested for in Selenium -- and then
there are tests that are not currently automated, but could be.
Obviously Selenium won't distinguish the two, and they'll both have
@unless="true", but your XSLT will no doubt be able to tell the
difference.
One last thing, again you probably know this, but if not, the string
in @unless is executed as JavaScript. So if you wanted to have a test
that checked the browser type or something, you can.
(Alternatively, we could generate a set of tests for each browser if
we wanted to, with different tests marked for skipping. That's
something to ponder.)
> Furthermore, another problem is that the individual chapter listings
> and the all encompassing listing are not in sync; the same test is
> marked differently in the chapter listing as the total listing. What
> I'd like to do is abstract this information to a separate XML file to
> make maintenance easier, however this begs the question, which
> listing's flags are correct? I'd like to avoid manually verifying
> these flags if possible as there are 60-70 tests that would need to be
> reviewed.
We also arrived at this point a few months ago. The problem is that
the W3C test suite has been issued as an amalgam of test descriptions
and individual processor results. There is actually a W3C test format
that simply describes a test with its expected result, but it hasn't
been adopted here.
> So in short, I suppose my query comes down to this: should I preserve
> the red styling separate from the unless="true" flag...
I agree with you that it doesn't add anything, so feel free to remove
the styling.
> ... and secondly,
> should I use the flags in the chapter listings, or the
> W3CTestSuite.html file, or some combination of the two? Any guidance
> on these issues would be appreciated.
On that I'm afraid I'm not sure...sorry. It probably doesn't matter
that much, but I'd prefer John to decide that one, being as he's the
chair of the W3C working group, and all that. ;)
Regards,
Mark
--
Mark Birbeck, webBackplane
mark.b...@webBackplane.com
http://webBackplane.com/mark-birbeck
webBackplane is a trading name of Backplane Ltd. (company number
05972288, registered office: 2nd Floor, 69/85 Tabernacle Street,
London, EC2A 4RR)
From: | Mark Birbeck <mark.b...@webbackplane.com> |
To: | ubiquity-...@googlegroups.com |
Date: | 06/29/2009 03:22 AM |
Subject: | Re: Selenium Chapter Listings |
Ah...sorry. I took this bit to be more important than it was:
>> Furthermore, another problem is that the individual chapter listings
>> and the all encompassing listing are not in sync...
I thought Scott was implying that the titles, descriptions, and so on,
were out of sync.
Sorry. :)
So on Scott's question, I hope that the individual chapters will be
more up-to-date -- they are certainly the only ones that I have
touched when adding @unless values.
But if anyone else has added @unless values in the couple of months
since our code sprint, they could quite possibly have added them to
the old 'monolithic' file. I can only suggest checking with SVN
history on that, I'm afraid.
From: | Phil Booth <phil....@webbackplane.com> |
To: | ubiquity-...@googlegroups.com |
Date: | 06/29/2009 07:56 AM |
Subject: | Re: Selenium Chapter Listings |
Sorry...I thought I'd clarified this bit:
> The immediate issue for Scott, though, is regardless of how the "unless"
> information is retained going forward, there is a disconnect between the
> "unless" setting currently in the chapter-by-chapter files versus the
> "unless" settings in the full test suite file. Scott is asking which set
> should be used as the authoritative setting of which tests are supposed to
> be excluded from automatic testing.
I'm assuming we're talking about driver pages here, and I think the
chapter-by-chapter files are the more up-to-date. However, I think
it's worth checking via SVN that no-one has modified the monolithic
files.
> Your response indicated you believed
> this was a W3C working group issue and therefore needed my response. My
> response was that I thought Scott's question had been misunderstood because
> our decision to automate or not automate a particular test is not, strictly
> speaking, a W3C working group issue.
Right...as I said, that's because I thought Scott was talking about
the test titles/descriptions, etc. We're on the same page now, and
yes, it's nothing to do with the W3C.
> Regardless of how we store them, what should the current manually run tests
> be in order to produce an updated implementation report using the automated
> test framework?
The only tests I know of that cannot be automated in Selenium are the
email tests I did.
That doesn't mean there aren't others, but I don't know of them.
> And are there any manual tests that *should* be automatic
> except that they impede completion of an automated test?
I believe this is work that everyone is doing, not just in our team,
so it does mean that no one person has the full answer to this.
The easiest way to find out would be from issue 337, but it looks like
this hasn't been kept up to date. It wouldn't take long to sort that
out, and then you'd have an up-to-date picture, so perhaps people can
link their issues to the chapter-specific issues that come off of 337.
(I.e., by using blockers.)