1. 31 Oct, 2018 5 commits
    • Jérome Perrin's avatar
      stack/slapos: version ↑ jsonschema 3.0.0a3 · 5c851e28
      Jérome Perrin authored
      with support for draft7 of json schema
      5c851e28
    • Jérome Perrin's avatar
      software/erp5: fix json schema formatting · 1517cd95
      Jérome Perrin authored
      1517cd95
    • Jérome Perrin's avatar
      Selenium Server · 88394ddb
      Jérome Perrin authored
      New software release, selenium server, which expose a http server to which clients can connect using [`webdriver.Remote`](https://selenium-python.readthedocs.io/getting-started.html#using-selenium-with-remote-webdriver) and then use standard webdriver API to control the browser.
      
      The server is made of :
       * the "hub" to which webdriver connects
       * a Xvfb server
       * some nodes, for different browsers:
         * Firefox 52
         * Firefox 60
         * Chrome 69
       * an IPv6 https frontend, exposing the admin interface and the hub. Note that python's webdriver binding before 3.14.0 refuse to connect to a hub with a non verified SSL certificate, so for now clients must either use the published `backend-url` (which is IPv4) or use a version of selenium eggs >= 3.14. In the future we'll see how [caucase](https://lab.nexedi.com/nexedi/caucase/) can solve this. Also, this behavior might also change with future version of selenium, because it's wrong that it does not verify SSL certificates.
       * a ssh server, to which you can connect to establish a ssh tunnel with port forward and register more nodes to the hub. This can be used to connect a browser running on your desktop and see the test running, run unsupported browsers, maybe also [appium](http://appium.io/docs/en/advanced-concepts/grid/) to run tests on mobile. This is a kind of "extra feature" that seems working, but I'm not sure we can support it.
      
      To achieve this, we had to :
        * update Xorg components and build gtk with a X11 gdk backend  to be able to run firefox 60. Updating xorg/gdk also fixed a bug in firefox 52, before this, firefox 52 was not able to get the screen size and ` window.screen.width` was 0. Now firefox 52 can get the screen size properly but resizing window does not work.
        * update chrome 69 and fix a few missing `$LD_LIBRARY_PATH` in the wrapper.
      
      Everything seems working, including taking screenshots, uploading files and resizing window - except resizing window does not work on firefox 52.
      
      See the included test suite for some example usage. Basically it's same as what we're doing today, but instead of:
      
      ```python
      driver = webdriver.Firefox(path_to_firefox)
      ```
      
      we use:
      
      ```python
      driver = webdriver.Remote(
         command_executor='http://127.0.0.1:4444/wd/hub', # the url or backend-url parameter published by the instance.
         desired_capabilities={
            'browserName': 'firefox', # or chrome
            'version': '60', # or don't set a version if you want any version (browserName, on the other hand, is required)
         })
      ```
      
      
      /reviewed-on nexedi/slapos!420
      88394ddb
    • Jérome Perrin's avatar
      JSTestNode on Selenium Server · bc662696
      Jérome Perrin authored
      Change jstestnode arguments to accept the [desired capabilities](https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities) as a JSON object, so that we can run jstestnode tests on any selenium server ( the target being nexedi/slapos!420 ), not only saucelabs.
      
      This MR also introduces some JSON schema for instance parameter.
      
      /reviewed-on nexedi/slapos!429
      bc662696
    • Jérome Perrin's avatar
      Theia · bf4aef15
      Jérome Perrin authored
      https://www.theia-ide.org/
      
      /reviewed-on nexedi/slapos!417
      bf4aef15
  2. 30 Oct, 2018 1 commit
  3. 29 Oct, 2018 10 commits
  4. 26 Oct, 2018 8 commits
  5. 25 Oct, 2018 1 commit
  6. 24 Oct, 2018 8 commits
  7. 22 Oct, 2018 4 commits
  8. 19 Oct, 2018 2 commits
  9. 17 Oct, 2018 1 commit