Some comments inline:

From: Martijn <[email protected]>
Reply: Martijn <[email protected]>
Date: December 11, 2015 at 9:36:51 AM
To: Gareth Aye <[email protected]>
CC: dev-fxos <[email protected]>
Subject:  Re: Failed jsmarionette live coding session yesterday  

On Wed, Dec 9, 2015 at 3:48 PM, Gareth Aye <[email protected]> wrote: 
> So if you're writing a simple test and crashing gecko in the near future, 
> check the gecko logs and also make sure that you have the correct 
> accessibility stuff! 

I have some questions: 
What od you mean with crashing Gecko? If Gecko is really crashing 
here, then we should file a bug about this, no? Because crashing is 
really bad. Or do you mean that the test is failing here? 
Why is accessibility tied into the Marionette code at all? 
I think there are a couple of things here. Accessibility checks are enabled by 
default in Gaia only (since it’s our user facing interface) and not marionette 
in general so it should not affect any other places where marionette is used 
(unless it’s explicitly enabled). Though I would love to have them enabled 
across all products that use marionette for testing.

Why accessibility and marionette:

You can think of accessibility as something that bridges user intention of 
performing a task and an ability to complete it. It is also our (and I would 
suggest Mozilla’s) approach that we do not want to have special solutions for 
accessibility and we want to develop our products that are accessible to all 
users in the same way. This is why marionette is very useful for testing that 
user actions, such as clicking and tapping for example, work for all users 
(including the users of the assistive technologies).

Marionette is also better suited for that because testing for accessibility 
attributes present (unit testing) does not guarantee something being 
accessible. Also, testing that some component or widget has an accessible 
interface (from platform accessibility point of view) does not guarantee that 
it is usable by the user either (in the same sense as it would be for a 
non-accessibility user). This is why integration testing is crucial because we 
are most interested in users accomplishing things.


I noticed also when I was trying to fix 
https://bugzilla.mozilla.org/show_bug.cgi?id=1200197 (see comment 22) 
For me it seems that accessibility has often different needs on which 
elements are clickable then what we need for regular UI testing. 

What I also encountered with in Marionette was 
https://bugzilla.mozilla.org/show_bug.cgi?id=1203966 where we have an 
unminified atoms.js file, which currently stuck at a version and can't 
be updated. 

Regards, 
Martijn 


> On Wed, Dec 9, 2015 at 3:39 PM, Gareth Aye <[email protected]> wrote: 
>> 
>> I just debugged what was going on and found that 
>> 
>> 1449692934326 Marionette DEBUG conn2 <- Response {id: 33, error: 
>> {"error":"element not accessible","message":"Element is not currently 
>> visible via the accessibility API and may not be manipulated by it -> id: 
>> light, tagName: DIV, className: red\n","stacktrace":null}, body: null} 
>> 
>> was being thrown by the marionette server and crashing gecko. The reason 
>> for that was that my traffic light app didn't have the appropriate 
>> accessibility designations. Calling marionette.client() with the options 
>> 
>> { desiredCapabilities: { raisesAccessibilityExceptions: false } } 
>> 
>> prevents that from happening. Getting marionette server logs from 
>> marionette-js-runner was the key to debugging that fwiw. 
>> 
>> Cheers, 
>> Gareth 
> 
> 
> 
> _______________________________________________ 
> dev-fxos mailing list 
> [email protected] 
> https://lists.mozilla.org/listinfo/dev-fxos 
> 
_______________________________________________ 
dev-fxos mailing list 
[email protected] 
https://lists.mozilla.org/listinfo/dev-fxos 
_______________________________________________
dev-fxos mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-fxos

Reply via email to