[MGNLTEST-40] Ensure UI/int test are easy to execute in different scenarios Created: 28/May/19  Updated: 07/Jul/20  Resolved: 19/May/20

Status: Closed
Project: Magnolia Test Framework
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Neutral
Reporter: Aleksandr Pchelintcev Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: QA&Testing, ease-of-usage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File no_docker_patch.txt    
Issue Links:
relation
is related to MGNLTEST-56 Enable "Docker-hybrid-setup" to run U... Closed
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:
Epic Link: core-TF-features-bugs-improvements

 Description   

Overview

  • ability to use debugger against test webapp (IDE integration, problematic with Docker!), maybe research remote debugging possibilities with Dockerised webapp.
  • restore the ability to run the tests against the local instance with some "hot" changes.
  • cosider the possibility of the VM-based test execution (optionally)
  • consider setup configuration additions that would let the user execute the tests in a way they want

 

Issues with the "fully local setup"

In the fully local setup you run all the things directly on your laptop, neither using docker nor a virtualbox.

For this scenario, when running test based on the "old" ui-test-framework, it was required to apply a patch (adapting info.magnolia.integrationtests.docker.IntegrationTestEnvironment and info.magnolia.integrationtests.rules.SeleniumNodesVncSidekickRule), see no_docker_patch.txt.

UI tests utilizing the new UI-test-framework which uses JUnit-5  in this setup now fail with throwing a RuntimeExc. in info.magnolia.testframework.VncRecordingHelper. See stacktrace.

It should be possible to run also the new ui-tests "fully local". Ideally we can find a solution which doesn't require a patch.

Making the patch into the codebase will fix the issue for the non-docker setup but will break the case when dockerised setup is deployed manually and is not required to be provisioned by the integration tests. However, 
verifying the presence of the server }}container and ensuring that{{ localhost:8599 leads to its *:8080 port should be a reliable sign that we’re using the dockerised setup.
If container is not up or ports are configured to use some other instance - we’re clearly by-passing the thing.
 



 Comments   
Comment by Christoph Meier [ 12/Sep/19 ]

I highly second this one!

The current need to apply a patch to run the ui-tests without docker (but starting the webapps in the IDE) is cumbersome.

Comment by Christoph Meier [ 03/Mar/20 ]

This one is at least partially tackled by DEV-1471 - which currently gets tackled.
If DEV-1471 is closed - we should check and prbly re-align the scope of this one.

Comment by Rishab Dhar [ 15/May/20 ]

> For this scenario, when running test based on the "old" ui-test-framework, it was required to apply a patch (adapting info.magnolia.integrationtests.docker.IntegrationTestEnvironment and info.magnolia.integrationtests.rules.SeleniumNodesVncSidekickRule), see no_docker_patch.txt.

No patch is required anymore.

> UI tests utilizing the new UI-test-framework which uses JUnit-5 in this setup now fail with throwing a RuntimeExc. in info.magnolia.testframework.VncRecordingHelper.

This issue has been tackled in DEV-1471 and should not happened anymore.

> Making the patch into the codebase will fix the issue for the non-docker setup but will break the case when dockerised setup is deployed manually and is not required to be provisioned by the integration tests. However,
verifying the presence of the server }}container and ensuring that{{ localhost:8599 leads to its *:8080 port should be a reliable sign that we’re using the dockerised setup.

Presence of containers is verified using a simplified test - whether any container for selenium-hub/selenium-standalone is running, and updating the hostname to localhost (in case it is OS X docker internal - required by docker setup on OS X).

Comment by Christoph Meier [ 19/May/20 ]

Since DEV-1471 has been tackled, we now have these 3 scenarios:

  1. Hybrid Docker Setup
  2. Full Docker setup
  3. Fully Local Setup

See docu on github for more details.

Plus there is still the option of using the VM-Box approach - see https://wiki.magnolia-cms.com/display/DEV/Running+UI+tests+in+a+local+VM.

All scenarios are now "easier" to use, e.g. since there is no more need to pass parameters.
Especially the recommended Hybrid Docker Setup is setup very quickly, plus docker needs much less resources.

This said, I dare to close this ticket, since DEV-1471 made possible what this ticket was asking for.
If we need further scenarios, we can create a new, distinct ticket.

Comment by Christoph Meier [ 19/May/20 ]

Seems obsolete now - was tackled via DEV-1471

Generated at Mon Feb 12 07:44:58 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.