w3c / Mobile-Checker

The Mobile Checker is a tool for Web developers who want to make their Web page or Web app work better on mobile devices.
https://validator.w3.org/mobile-alpha/
MIT License
322 stars 84 forks source link

Error running first tests on a website (This driver instance does not have a valid session ID ..) #116

Open Eyesonly88 opened 9 years ago

Eyesonly88 commented 9 years ago

Hello, I've been trying to get Mobile-Checker to work locally on my Windows machine (Windows 8.1 64-bit with node 0.10.35). So far, no luck. I can run some of the tests when I do mocha --timeout 30000 but not all (it stops on test number 10 => http://i.imgur.com/rC4mzPG.png) .

I've tried to analyze my game website but it fails on the first test. Here's a screenshot showing the error and that was browsermob-proxy was running then stopped => http://i.imgur.com/Gx5gS0O.png

Here's the stack trace:

$ node app.js
listening on *:3000
{ url: 'http://spectrumgame.com', status: true, report: [] }
public/tmp/screenshots/4104df80-ff18-4dd1-9676-c2a275377e4a.png
{ [Error: Command failed: Invalid Parameter - /tmp
] killed: false, code: 4, signal: null }
{ [Error: Command failed: Invalid Parameter - /tmp
] killed: false, code: 4, signal: null }

d:\Development\mobile-checker\Mobile-Checker\node_modules\mobile-web-browser-emu
lator\node_modules\selenium-webdriver\lib\goog\async\nexttick.js:39
  goog.global.setTimeout(function() { throw exception; }, 0);
                                            ^
Error: This driver instance does not have a valid session ID (did you call WebDr
iver.quit()?) and may no longer be used.
    at checkHasNotQuit (d:\Development\mobile-checker\Mobile-Checker\node_module
s\mobile-web-browser-emulator\node_modules\selenium-webdriver\lib\webdriver\webd
river.js:394:13)
    at flow.execute.then.value (d:\Development\mobile-checker\Mobile-Checker\nod
e_modules\mobile-web-browser-emulator\node_modules\selenium-webdriver\lib\webdri
ver\webdriver.js:367:5)
    at promise.ControlFlow.runInFrame_ (eval at <anonymous> (d:\Development\mobi
le-checker\Mobile-Checker\node_modules\mobile-web-browser-emulator\node_modules\
selenium-webdriver\lib\goog\base.js:1094:19), <anonymous>:1857:20)
    at promise.ControlFlow.runEventLoop_ (eval at <anonymous> (d:\Development\mo
bile-checker\Mobile-Checker\node_modules\mobile-web-browser-emulator\node_module
s\selenium-webdriver\lib\goog\base.js:1094:19), <anonymous>:1729:8)
    at eval (eval at <anonymous> (d:\Development\mobile-checker\Mobile-Checker\n
ode_modules\mobile-web-browser-emulator\node_modules\selenium-webdriver\lib\goog
\base.js:1094:19), <anonymous>:2043:12)
    at goog.async.run.processWorkQueue [as _onTimeout] (d:\Development\mobile-ch
ecker\Mobile-Checker\node_modules\mobile-web-browser-emulator\node_modules\selen
ium-webdriver\lib\goog\async\run.js:125:21)
    at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
From: Task: WebDriver.close()
    at webdriver.WebDriver.schedule (d:\Development\mobile-checker\Mobile-Checke
r\node_modules\mobile-web-browser-emulator\node_modules\selenium-webdriver\lib\w
ebdriver\webdriver.js:362:15)
    at webdriver.WebDriver.close (d:\Development\mobile-checker\Mobile-Checker\n
ode_modules\mobile-web-browser-emulator\node_modules\selenium-webdriver\lib\webd
river\webdriver.js:781:15)
    at d:\Development\mobile-checker\Mobile-Checker\node_modules\mobile-web-brow
ser-emulator\lib\browser-emulator.js:210:26
    at promise.ControlFlow.runInFrame_ (eval at <anonymous> (d:\Development\mobi
le-checker\Mobile-Checker\node_modules\mobile-web-browser-emulator\node_modules\
selenium-webdriver\lib\goog\base.js:1094:19), <anonymous>:1857:20)
    at goog.defineClass.notify (eval at <anonymous> (d:\Development\mobile-check
er\Mobile-Checker\node_modules\mobile-web-browser-emulator\node_modules\selenium
-webdriver\lib\goog\base.js:1094:19), <anonymous>:2448:25)
    at promise.Promise.notify_ (eval at <anonymous> (d:\Development\mobile-check
er\Mobile-Checker\node_modules\mobile-web-browser-emulator\node_modules\selenium
-webdriver\lib\goog\base.js:1094:19), <anonymous>:564:12)
    at Array.forEach (native)
    at promise.Promise.notifyAll_ (eval at <anonymous> (d:\Development\mobile-ch
ecker\Mobile-Checker\node_modules\mobile-web-browser-emulator\node_modules\selen
ium-webdriver\lib\goog\base.js:1094:19), <anonymous>:553:15)
    at goog.async.run.processWorkQueue [as _onTimeout] (d:\Development\mobile-ch
ecker\Mobile-Checker\node_modules\mobile-web-browser-emulator\node_modules\selen
ium-webdriver\lib\goog\async\run.js:125:21)
    at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

I've installed the dependencies and had to install jsdom@3 in order to get the app to run and start running the test.

As far as I can tell, I have followed all the instructions and downloaded all dependencies. I can't seem to get this to work :(. Any help would be appreciated.

I'm not sure if this is a bug or a misconfiguration (or missing documentation).

Regards, Mido.

gbaudusseau commented 9 years ago

Hi @Eyesonly88, which version of the Mobile Checker are you using? Can you update your local repo and try again please? don't forget to run npm install -d after updating your repo before running the Mobile Checker.