<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 07:45:08 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MGNLTEST-56] Enable &quot;Docker-hybrid-setup&quot; to run UI-tests locally</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLTEST-56</link>
                <project id="17084" key="MGNLTEST">Magnolia Test Framework</project>
                    <description>&lt;p&gt;The &quot;Docker-hybrid-setup&quot; - aka &quot;Dai&apos;s hybrid setup&quot; is setup to run integration and UI tests on a local laptop.&lt;/p&gt;

&lt;p&gt;The setup is used / developed by Dai so far, it has been discussed during the &lt;a href=&quot;https://wiki.magnolia-cms.com/display/DEV/Workshop+-+Running+UI+tests+locally&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Workshop - Running UI tests locally&lt;/a&gt; and has been considered to be a &quot;better&quot; setup compared to the so far docker-setup, and the &lt;em&gt;Group of Interest for QA&amp;amp;Testing&lt;/em&gt; has decided to enable this scenario making it available for the developers in an &quot;easy way&quot;.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;Overviewofthe%C2%A0%22Dockerhybridsetup%22&quot;&gt;&lt;/a&gt;Overview of the&#160;&quot;Docker-hybrid-setup&quot;&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;Webapps are started via IDE and run on the host.&lt;/li&gt;
	&lt;li&gt;Only the selenium server runs in the docker container.&lt;/li&gt;
	&lt;li&gt;Test are launched from the host&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160; &lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;62770_thumb&quot; href=&quot;https://jira.magnolia-cms.com/secure/attachment/62770/62770_ui-test-hybrid.png&quot; title=&quot;ui-test-hybrid.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;62770&quot; file-preview-title=&quot;ui-test-hybrid.png&quot;&gt;&lt;img src=&quot;https://jira.magnolia-cms.com/secure/thumbnail/62770/_thumb_62770.png&quot; style=&quot;border: 0px solid black&quot; role=&quot;presentation&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Gains:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Less resource consumption on the docker side&lt;/li&gt;
	&lt;li&gt;No more time-consuming &quot;downloads&quot; on the docker side to fetch the webapps -&amp;gt; generally much quicker&lt;/li&gt;
	&lt;li&gt;Webapps started via IDE can be debugged too.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;To compare, here are the other, already available setups:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;the &quot;all-docker-scenario&quot;: Both webapps and selenium server run in docker.&lt;/li&gt;
	&lt;li&gt;&quot;fully-local setup&quot;: everything runs onthe host&lt;/li&gt;
	&lt;li&gt;&quot;Linux-VM-setup&quot;: VM runs the selenium server; webapps started by IDE run on host.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;&lt;a name=&quot;Tasks&quot;&gt;&lt;/a&gt;Tasks&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;Refactor the &quot;set-up script&quot; localtest.sh to enable the &quot;Docker-hybrid-setup&quot;&lt;/li&gt;
	&lt;li&gt;Refactor &quot;framework classes&quot; if required&lt;/li&gt;
	&lt;li&gt;Update the docu on bitbucket giving all necessary info in order to understand and use this new setup variation&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;&lt;a name=&quot;Acceptancecritera&quot;&gt;&lt;/a&gt;Acceptance critera&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;Clarify how to run the hybrid setup, and what runs where
	&lt;ul&gt;
		&lt;li&gt;Update some meaningful defaults (e.g. flag to kill containers when tests start, other?)
		&lt;ul&gt;
			&lt;li&gt;special attention to the sever ports (should probably revert from custom ones like 8599 in favour of more traditional 8080)&lt;/li&gt;
			&lt;li&gt;re-consider &lt;tt&gt;setup.test.env&lt;/tt&gt; default (should not matter much though since the proposed approach doesn&apos;t imply server deployment in container)&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Produce just-enough README, can be built upon for bigger-audience workshop
	&lt;ul&gt;
		&lt;li&gt;see &lt;a href=&quot;https://git.magnolia-cms.com/users/mgeljic/repos/dev-webapp/browse?at=refs%2Fheads%2Fopenmic-march-2020&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/users/mgeljic/repos/dev-webapp/browse?at=refs%2Fheads%2Fopenmic-march-2020&lt;/a&gt; for a minimal example.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Consider retiring existing scripts (or keeping them/deprecate for change-averse people)&lt;/li&gt;
	&lt;li&gt;Adapt
	&lt;ul&gt;
		&lt;li&gt;1st on &lt;tt&gt;CE&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;2nd on &lt;tt&gt;dx-core&lt;/tt&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Do it on master only / no need to backport atm&lt;/li&gt;
	&lt;li&gt;Consider follow-ups for additional local, persistent env config by file&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Note that the &quot;fully local&quot; setup currently does not work when running tests which use the new ui-test-fwk.&lt;br/&gt;
 That&apos;s not ideal, but fixing this is &lt;em&gt;not&lt;/em&gt; within the scope of this ticket.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;Tobedefined&quot;&gt;&lt;/a&gt;To be defined&lt;/h3&gt;

&lt;p&gt;Since we already know, that the current setup of Dai needs &quot;quite a lot&quot; (4?) params which must be passed when launching a test, we hopefully can reduce this to a &quot;minimum&quot; ... but let&apos;s see.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="84335">MGNLTEST-56</key>
            <summary>Enable &quot;Docker-hybrid-setup&quot; to run UI-tests locally</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="rdhar">Rishab Dhar</assignee>
                                    <reporter username="cmeier">Christoph Meier</reporter>
                        <labels>
                            <label>QA&amp;amp;Testing</label>
                            <label>ease-of-usage</label>
                    </labels>
                <created>Wed, 26 Feb 2020 07:55:51 +0100</created>
                <updated>Tue, 7 Jul 2020 09:34:18 +0200</updated>
                            <resolved>Mon, 25 May 2020 09:42:23 +0200</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="211089" author="cmeier" created="Wed, 26 Feb 2020 08:30:52 +0100"  >&lt;p&gt;I&apos;m aware of that this one is clearly related to&#160;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLTEST-40&quot; title=&quot;Ensure UI/int test are easy to execute in different scenarios&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLTEST-40&quot;&gt;&lt;del&gt;DEV-1200&lt;/del&gt;&lt;/a&gt; and, if tackled properly, at least partially resolves what is demanded in&#160;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLTEST-40&quot; title=&quot;Ensure UI/int test are easy to execute in different scenarios&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLTEST-40&quot;&gt;&lt;del&gt;DEV-1200&lt;/del&gt;&lt;/a&gt;.&lt;br/&gt;
Let&apos;s tackle this one 1st, then decide what still must be done on&#160;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLTEST-40&quot; title=&quot;Ensure UI/int test are easy to execute in different scenarios&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLTEST-40&quot;&gt;&lt;del&gt;DEV-1200&lt;/del&gt;&lt;/a&gt; and what can be skipped.&lt;/p&gt;</comment>
                            <comment id="211323" author="cmeier" created="Thu, 27 Feb 2020 11:23:32 +0100"  >&lt;p&gt;There is a branch on my fork with some work in progress.&lt;br/&gt;
See &lt;a href=&quot;https://git.magnolia-cms.com/users/cmeier/repos/ce/commits?until=refs%2Fheads%2FDEV-1471&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/users/cmeier/repos/ce/commits?until=refs%2Fheads%2FDEV-1471&lt;/a&gt;&#160;&lt;br/&gt;
It contains a so far working solution for CE, but there are still things missing such as:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Currently no vids are stored on test failure&lt;/li&gt;
	&lt;li&gt;Simplify Parameter handling&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;There also have a few comments from Sasha on the fork proposing improvements.&lt;/p&gt;</comment>
                            <comment id="220283" author="rdhar" created="Mon, 25 May 2020 10:03:06 +0200"  >&lt;ul&gt;
	&lt;li&gt;Hybrid docker + full docker setup works now without requiring any further developer configuration&lt;/li&gt;
	&lt;li&gt;Customizable .env for configuring local docker setup if required&lt;/li&gt;
	&lt;li&gt;Fully local setup (non-dockerized) works as well now with sane defaults, without requiring any developer configuration&lt;/li&gt;
	&lt;li&gt;Code refactoring and cleanup&lt;/li&gt;
	&lt;li&gt;Improve JUnit 5 setup (single webdriver instance to trigger UI tests on selenium and prevent memory leaks)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="220495" author="cmeier" created="Tue, 26 May 2020 13:48:10 +0200"  >&lt;p&gt;All 3 scenarios work on dx-core, too.&lt;/p&gt;

&lt;p&gt;Ticket can be closed.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="87412">MGNLTEST-54</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="76576">MGNLTEST-40</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="62770" name="ui-test-hybrid.png" size="59736" author="cmeier" created="Wed, 26 Feb 2020 07:56:45 +0100"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 25 May 2020 10:03:06 +0200</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>MGNLTEST-2</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>cmeier</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 37 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>cmeier</customfieldvalue>
            <customfieldvalue>rdhar</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|y02pkk:i</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10220" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Release notes required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10490"><![CDATA[Yes]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_14167" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoR</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_13933" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Urgency (resolution)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15724"><![CDATA[Normal]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>