Page MenuHomePhabricator

WDQS GUI test broken after merging 2144a682d48168555368d8aa5df1bd9dfa369fb2
Closed, ResolvedPublic

Description

After merging 2144a682d48168555368d8aa5df1bd9dfa369fb2, when WDQS GUI is tested as part of WDQS CI test, I get this:

21:07:01 [INFO] Running "wdio" task
21:07:01 [INFO] Starting up http-server, serving ./
21:07:01 [INFO] Available on:
21:07:01 [INFO]   http://127.0.0.1:8082
21:07:01 [INFO]   http://172.17.0.2:8082
21:07:01 [INFO] Hit CTRL-C to stop the server
21:07:01 [ERROR] /src/gui/node_modules/selenium-standalone/bin/selenium-standalone:79
21:07:01 [ERROR]         throw err;
21:07:01 [ERROR]         ^
21:07:01 [ERROR] 
21:07:01 [ERROR] Error: Missing /src/gui/node_modules/selenium-standalone/.selenium/chromedriver/2.43-x64-chromedriver
21:07:01 [ERROR]     at /src/gui/node_modules/selenium-standalone/lib/check-paths-existence.js:15:20
21:07:01 [ERROR]     at FSReqWrap.cb [as oncomplete] (fs.js:311:19)
21:07:02 [INFO] 
21:07:02 [INFO] ERROR: connect ECONNREFUSED 127.0.0.1:4444
21:07:02 [INFO] firefox
21:07:02 [INFO]     at new RuntimeError (/src/gui/node_modules/webdriverio/build/lib/utils/ErrorHandler.js:143:12)
21:07:02 [INFO]     at Request._callback (/src/gui/node_modules/webdriverio/build/lib/utils/RequestHandler.js:330:43)
21:07:02 [INFO]     at self.callback (/src/gui/node_modules/webdriverio/node_modules/request/request.js:185:22)
21:07:02 [INFO]     at emitOne (events.js:115:13)
21:07:02 [INFO]     at Request.emit (events.js:210:7)
21:07:02 [INFO]     at Request.onRequestError (/src/gui/node_modules/webdriverio/node_modules/request/request.js:881:8)
21:07:02 [INFO]     at emitOne (events.js:120:20)
21:07:02 [INFO]     at ClientRequest.emit (events.js:210:7)
21:07:02 [INFO]     at Socket.socketErrorListener (_http_client.js:400:9)
21:07:02 [INFO]     at emitOne (events.js:115:13)
21:07:02 [INFO] 
21:07:02 [INFO] 
21:07:02 [INFO] http-server stopped.
21:07:02 [INFO] Warning: Task "wdio" failed. Use --force to continue.
21:07:02 [INFO]

Not sure what exactly is missing, but seems to be broken.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

I can reproduce the issue locally in the GUI repository.

$ namei /home/luwe/git/wikidata-query-gui/node_modules/selenium-standalone/.selenium/chromedriver/2.43-x64-chromedriver
f: /home/luwe/git/wikidata-query-gui/node_modules/selenium-standalone/.selenium/chromedriver/2.43-x64-chromedriver                                                          
 d /
 d home
 d luwe
 d git
 d wikidata-query-gui
 d node_modules
 d selenium-standalone
   .selenium - No such file or directory

Apparently we need to run selenium-standalone install at some point?

Change 500414 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[wikidata/query/gui@master] Set up selenium-standalone before test

https://gerrit.wikimedia.org/r/500414

Change 500414 merged by jenkins-bot:
[wikidata/query/gui@master] Set up selenium-standalone before test

https://gerrit.wikimedia.org/r/500414

Now I get this:

17:42:14 [INFO] Selenium started
17:42:14 [ERROR] 17:42:14.826 INFO [ActiveSessionFactory.apply] - Capabilities are: {
17:42:14 [ERROR]   "browserName": "firefox",
17:42:14 [ERROR]   "handlesAlerts": true,
17:42:14 [ERROR]   "javascriptEnabled": true,
17:42:14 [ERROR]   "locationContextEnabled": true,
17:42:14 [ERROR]   "loggingPrefs": {
17:42:14 [ERROR]     "browser": "ALL",
17:42:14 [ERROR]     "driver": "ALL"
17:42:14 [ERROR]   },
17:42:14 [ERROR]   "maxInstances": 5,
17:42:14 [ERROR]   "requestOrigins": {
17:42:14 [ERROR]     "url": "http:\u002f\u002fwebdriver.io",
17:42:14 [ERROR]     "version": "4.13.1",
17:42:14 [ERROR]     "name": "webdriverio"
17:42:14 [ERROR]   },
17:42:14 [ERROR]   "rotatable": true
17:42:14 [ERROR] }
17:42:14 [ERROR] 17:42:14.828 INFO [ActiveSessionFactory.lambda$apply$11] - Matched factory org.openqa.selenium.grid.session.remote.ServicedSession$Factory (provider: org.openqa.selenium.firefox.GeckoDriverService)
17:42:15 [INFO] ERROR: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line
17:42:15 [INFO] Build info: version: '3.141.5', revision: 'd54ebd709a', time: '2018-11-06T11:58:47'
17:42:15 [INFO] System info: host: 'b44963709ea5', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.0-0.bpo.8-amd64', java.version: '1.8.0_181'
17:42:15 [INFO] Driver info: driver.version: unknown
17:42:15 [INFO] remote stacktrace: 
17:42:15 [INFO] firefox
17:42:15 [INFO]     at new RuntimeError (/src/gui/node_modules/webdriverio/build/lib/utils/ErrorHandler.js:143:12)
17:42:15 [INFO]     at Request._callback (/src/gui/node_modules/webdriverio/build/lib/utils/RequestHandler.js:316:39)
17:42:15 [INFO]     at Request.self.callback (/src/gui/node_modules/webdriverio/node_modules/request/request.js:185:22)
17:42:15 [INFO]     at emitTwo (events.js:125:13)
17:42:15 [INFO]     at Request.emit (events.js:213:7)
17:42:15 [INFO]     at Request.<anonymous> (/src/gui/node_modules/webdriverio/node_modules/request/request.js:1161:10)
17:42:15 [INFO]     at emitOne (events.js:115:13)
17:42:15 [INFO]     at Request.emit (events.js:210:7)
17:42:15 [INFO]     at IncomingMessage.<anonymous> (/src/gui/node_modules/webdriverio/node_modules/request/request.js:1083:12)
17:42:15 [INFO]     at Object.onceWrapper (events.js:314:30)
17:42:15 [INFO] 
17:42:15 [INFO] 
17:42:15 [INFO] http-server stopped.
17:42:15 [INFO] Warning: Task "wdio" failed. Use --force to continue.

https://integration.wikimedia.org/ci/job/wikidata-query-rdf-maven-java8-docker/837/console

Change 500361 had a related patch set uploaded (by Smalyshev; owner: Smalyshev):
[wikidata/query/rdf@master] Update GUI

https://gerrit.wikimedia.org/r/500361

GUI is still not mergeable, so I think I'll disable running wdio test on CI for now.

Change 502447 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[wikidata/query/gui@master] Attempt other browser for wdio browser test

https://gerrit.wikimedia.org/r/502447

Change 502447 abandoned by Noa wmde:
Attempt other browser for wdio browser test

https://gerrit.wikimedia.org/r/502447

Change 502475 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[wikidata/query/gui@master] Remove 'test' Grunt task from 'create_build' task

https://gerrit.wikimedia.org/r/502475

Change 502475 merged by jenkins-bot:
[wikidata/query/gui@master] Remove 'test' Grunt task from 'create_build' task

https://gerrit.wikimedia.org/r/502475

Change 502566 had a related patch set uploaded (by WDQSGuiBuilder; owner: WDQSGuiBuilder):
[wikidata/query/gui-deploy@production] Merging from 8fff7b801d67e7e612556dda133c1824a32073ca:

https://gerrit.wikimedia.org/r/502566

Change 502566 merged by Smalyshev:
[wikidata/query/gui-deploy@production] Merging from 8fff7b801d67e7e612556dda133c1824a32073ca:

https://gerrit.wikimedia.org/r/502566

The latest patch doesn't seem to help, because test is run by pom.xml as it seems. Please see full log in https://integration.wikimedia.org/ci/job/wikidata-query-rdf-maven-java8-docker/850/console

Change 504287 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[wikidata/query/gui@master] Separate browser tests from rest of tests in the Query Service GUI CI

https://gerrit.wikimedia.org/r/504287

To avoid wikidata-query-rdf build CI running query-gui browser tests we have moved the wdio tests into a separate task: grunt browser_test.
This will be called in npm deploywhich in its turn gets run as part of wikidata-query-gui-build. This resolves the issue discussed in this task.

However, it seems that wikidata-query-gui-build only runs on wikidata-query-gui postmerge. Since this is what runs the tests it makes sense for it to run as a test job (i.e. on gerrit after adding a new patch). This probably justifies a separate task and requires release engineering input. tagging @zeljkofilipin can you maybe help?

Change 504287 merged by jenkins-bot:
[wikidata/query/gui@master] Separate browser tests from rest of tests in the Query Service GUI CI

https://gerrit.wikimedia.org/r/504287

Change 506666 had a related patch set uploaded (by Noa wmde; owner: Noa wmde):
[wikidata/query/gui@master] Remove wdio tests from gui query servive grunt test task

https://gerrit.wikimedia.org/r/506666

Change 506666 merged by jenkins-bot:
[wikidata/query/gui@master] Remove wdio tests from gui query servive grunt test task

https://gerrit.wikimedia.org/r/506666

Change 506667 had a related patch set uploaded (by WDQSGuiBuilder; owner: WDQSGuiBuilder):
[wikidata/query/gui-deploy@production] Merging from 528d333273c19da91105d7a17e6c248bc6803ca1:

https://gerrit.wikimedia.org/r/506667

Change 506668 had a related patch set uploaded (by WMDE-leszek; owner: WMDE-leszek):
[wikidata/query/rdf@master] Updated gui submodule

https://gerrit.wikimedia.org/r/506668

Change 506667 merged by Smalyshev:
[wikidata/query/gui-deploy@production] Merging from 528d333273c19da91105d7a17e6c248bc6803ca1:

https://gerrit.wikimedia.org/r/506667

Looks like it's not broken anymore. Thanks!