Uploaded image for project: 'Magnolia Test Framework'
  1. Magnolia Test Framework
  2. MGNLTEST-56

Enable "Docker-hybrid-setup" to run UI-tests locally

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • None
    • None

      The "Docker-hybrid-setup" - aka "Dai's hybrid setup" is setup to run integration and UI tests on a local laptop.

      The setup is used / developed by Dai so far, it has been discussed during the Workshop - Running UI tests locally and has been considered to be a "better" setup compared to the so far docker-setup, and the Group of Interest for QA&Testing has decided to enable this scenario making it available for the developers in an "easy way".

      Overview of the "Docker-hybrid-setup"

      • Webapps are started via IDE and run on the host.
      • Only the selenium server runs in the docker container.
      • Test are launched from the host

       

       

      Gains:

      • Less resource consumption on the docker side
      • No more time-consuming "downloads" on the docker side to fetch the webapps -> generally much quicker
      • Webapps started via IDE can be debugged too.

      To compare, here are the other, already available setups:

      • the "all-docker-scenario": Both webapps and selenium server run in docker.
      • "fully-local setup": everything runs onthe host
      • "Linux-VM-setup": VM runs the selenium server; webapps started by IDE run on host.

      Tasks

      • Refactor the "set-up script" localtest.sh to enable the "Docker-hybrid-setup"
      • Refactor "framework classes" if required
      • Update the docu on bitbucket giving all necessary info in order to understand and use this new setup variation

      Acceptance critera

      • Clarify how to run the hybrid setup, and what runs where
        • Update some meaningful defaults (e.g. flag to kill containers when tests start, other?)
          • special attention to the sever ports (should probably revert from custom ones like 8599 in favour of more traditional 8080)
          • re-consider setup.test.env default (should not matter much though since the proposed approach doesn't imply server deployment in container)
      • Produce just-enough README, can be built upon for bigger-audience workshop
      • Consider retiring existing scripts (or keeping them/deprecate for change-averse people)
      • Adapt
        • 1st on CE
        • 2nd on dx-core
      • Do it on master only / no need to backport atm
      • Consider follow-ups for additional local, persistent env config by file

      Note that the "fully local" setup currently does not work when running tests which use the new ui-test-fwk.
      That's not ideal, but fixing this is not within the scope of this ticket.

       

      To be defined

      Since we already know, that the current setup of Dai needs "quite a lot" (4?) params which must be passed when launching a test, we hopefully can reduce this to a "minimum" ... but let's see.

       

        Acceptance criteria

              rdhar Rishab Dhar
              cmeier Christoph Meier
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Task DoR