Closed
Bug 1164538
Opened 9 years ago
Closed 9 years ago
Marionette host test support for Horizon
Categories
(Testing Graveyard :: JSMarionette, defect)
Testing Graveyard
JSMarionette
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: kgrandon, Assigned: kgrandon)
Details
We would like to have marionette tests working for horizon, which is built on top of Graphene. This would also allow us to write tests for Browser.html.
Assignee | ||
Comment 1•9 years ago
|
||
Right now we get into suiteSetup(), but fail when trying to get into setup(). From :gaye on IRC: In setup() we both make a profile and create a session (https://github.com/mozilla-b2g/marionette-js-runner/blob/master/lib/runtime/hostmanager.js) whereas we just make a host in suiteSetup()
Assignee | ||
Comment 2•9 years ago
|
||
https://github.com/mozilla-b2g/marionette-firefox-host/blob/master/host.js#L32 marionette-firefox-host currently calls mozilla-runner in createSession so something happening there perhaps
Comment hidden (obsolete) |
Assignee | ||
Comment 4•9 years ago
|
||
Hey Gareth - If you get a chance could you help me debug this? Running into a wall here. Running with DEBUG=*, I get to send a new session here: Wed, 13 May 2015 17:32:44 GMT marionette:tcp-sync write { name: 'newSession', parameters: { capabilities: {} }, to: '0' } The binary opens, but after that happens it freezes. Wondering if there's something I'm not handling either in the system app, or in gecko. I am testing this by running the following command inside of a marionette-firefox-host checkout: DEBUG=* ./node_modules/.bin/marionette-mocha --host $(pwd)/index.js --runtime ~/Pathto/Horizon.app/Contents/MacOS/graphene examples/wikipedia.js You can download a copy of the graphene binary here: https://people.mozilla.org/~kgrandon/graphene-40.0a1.en-US.mac64.dmg
Comment 5•9 years ago
|
||
So far in my investigation, I have found that we are - receiving 53:{"from":"root","applicationType":"gecko","traits":[]} from the marionette server - sending 38:{"name":"getMarionetteID","to":"root"} - receiving 24:{"from":"root","id":"0"} from the marionette server - sending 63:{"name":"newSession","parameters":{"capabilities":{}},"to":"0"} Then the marionette server doesn't respond. Interestingly, I do see 1431983241596 Marionette DEBUG conn1 -> ({"name":"newSession","parameters":{"capabilities":{}},"to":"0"}) in the gecko log which means that the marionette server does receive the last message even though it's not responding to it. I think :AutomatedTester and his group probably have some ideas about what's going on. I am confident this is an issue with the marionette server on graphene.
Flags: needinfo?(gaye) → needinfo?(dburns)
Assignee | ||
Comment 6•9 years ago
|
||
Also, now that I have full gecko logs, I'm seeing the following before that (regarding conn0). Are we supposed to be seeing this? Mon, 18 May 2015 21:19:32 GMT marionette-js-runner:rpc create client rpc-obj-87aab425-8485-40f5-b18e-6cfab87217a7 [ 'destroy' ] Mon, 18 May 2015 21:19:32 GMT marionette:tcp-sync probing socket 1431983972378 Marionette INFO Accepted connection conn0 from 127.0.0.1:56032 1431983972378 Marionette DEBUG conn0 client <- ({"from":"root","applicationType":"gecko","traits":[]}) 1431983972379 Marionette INFO Closed connection conn0
Comment 7•9 years ago
|
||
I wasn't seeing that but that is also bad...
Comment 8•9 years ago
|
||
I suspect that we have made some assumptions that are based on b2g/Firefox and we may need to update them. Unfortunately building graphene appears to be tribal knowledge[1] since I am not sure if I need to start from a local integration branch or from any place? [1] https://github.com/mozilla/browser.html/wiki/How-to-build-graphene
Flags: needinfo?(dburns)
Assignee | ||
Comment 9•9 years ago
|
||
Hey David - you can build graphene from the larch branch, and there is a github mirror here: https://github.com/mozilla/gecko-projects/tree/larch (You need to update mozconfigs as seen in that wiki page) Question for you - are there any hard-coded statements for firefox or b2g in marionette code? I saw some references like this, but I'm not sure what kind of impact they would have: http://mxr.mozilla.org/mozilla-central/source/testing/marionette/server.js?force=1#67
Flags: needinfo?(dburns)
Comment 10•9 years ago
|
||
(In reply to Kevin Grandon :kgrandon from comment #9) > Hey David - you can build graphene from the larch branch, and there is a > github mirror here: https://github.com/mozilla/gecko-projects/tree/larch > (You need to update mozconfigs as seen in that wiki page) > > Question for you - are there any hard-coded statements for firefox or b2g in > marionette code? I saw some references like this, but I'm not sure what kind > of impact they would have: > http://mxr.mozilla.org/mozilla-central/source/testing/marionette/server. > js?force=1#67 There are times where we need to reference different objects because they might only be on mobile or on desktop and have to figure out what to use... Fun times :)
Assignee | ||
Comment 11•9 years ago
|
||
I see that mulet added marionette support in bug 1100345. I'm not sure if this is what I want to do as I'd much rather use the marionette firefox host instead of the b2g host because it seems much more simple. Not sure if this is possible though.
Assignee | ||
Comment 12•9 years ago
|
||
Just following up here - I think I've gotten this figured out after seeing what Mulet was doing. It seems that I am able to connect now, albeit with some timeout/logging issues but I will save those for another bug. I had to adjust my prefs to the following: pref("b2g.is_mulet", true); pref("marionette.defaultPrefs.enabled", true); pref("marionette.defaultPrefs.port", 2828); pref("marionette.force-local", true);
Assignee: nobody → kgrandon
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(dburns)
Resolution: --- → WORKSFORME
Updated•6 years ago
|
Product: Testing → Testing Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•