<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 00:06:09 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>[MGNLCE-86] UI Test improvements as preparation for using docker and chrome</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLCE-86</link>
                <project id="13380" key="MGNLCE">Community Edition</project>
                    <description>&lt;p&gt;The improvements consist of the following main parts:&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;UseFluentWaitinsteadofjustassertions%28MGNLCE87%29&quot;&gt;&lt;/a&gt;Use FluentWait instead of just assertions (&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLCE-87&quot; title=&quot;Use consequently waitUntils in dynamic situations instead of delays, asserts and nothing&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLCE-87&quot;&gt;&lt;del&gt;MGNLCE-87&lt;/del&gt;&lt;/a&gt;)&lt;/h2&gt;
&lt;p&gt;Because a lot of the interaction are dynamic, meaning they are done via JavaScript without HTTP Request/Response, Selenium has little knowledge when the DOM is ready for queries, clicks or assertions.&lt;br/&gt;
For those situations we should use &lt;tt&gt;FluentWait&lt;/tt&gt; with our convenience methods &lt;tt&gt;waitUntil&lt;/tt&gt; and &lt;tt&gt;assertEventually&lt;/tt&gt;. There we have the possibility to describe the status we expect to reach, like the status indicator after a publication to turn green, as a condition and the selenium framework evaluates it periodically until met.&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;Relyonexplicitinsteadofimplicitwaits%28MGNLCE89%29&quot;&gt;&lt;/a&gt;Rely on explicit instead of implicit waits (&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLCE-89&quot; title=&quot;Fix incorrect usage of Selenium implicitly wait timeout to deal with dynamic ui behavior&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLCE-89&quot;&gt;&lt;del&gt;MGNLCE-89&lt;/del&gt;&lt;/a&gt;)&lt;/h2&gt;
&lt;p&gt;Selenium FluentWaits are considered explicit waits because we declare a condition we are looking for, for a certain amount of time which could be individually configured. Selenium provides another way to wait for elements in the DOM with implicit waits which are used globally. That wait or timeout is used whenever the DOM is queried for an element by the driver.&lt;br/&gt;
Implicit waits do not ideally work in more complex situation because they work when querying the DOM tree and not when waiting for derived attributes like &lt;tt&gt;displayed&lt;/tt&gt; or combinations of conditions. This is why we have FluentWaits.&lt;br/&gt;
Because implicit and explicit timeouts influence each other (see &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLCE-89&quot; title=&quot;Fix incorrect usage of Selenium implicitly wait timeout to deal with dynamic ui behavior&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLCE-89&quot;&gt;&lt;del&gt;MGNLCE-89&lt;/del&gt;&lt;/a&gt; for more details) they should not be used simultaneously.&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;Incorrectuseof%7B%7BappIsLoaded%28%29%7D%7Dcondition%28MGNLCE88%29&quot;&gt;&lt;/a&gt;Incorrect use of &lt;tt&gt;appIsLoaded()&lt;/tt&gt; condition (&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLCE-88&quot; title=&quot;Incorrect usage of appIsLoaded() condition&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLCE-88&quot;&gt;&lt;del&gt;MGNLCE-88&lt;/del&gt;&lt;/a&gt;)&lt;/h2&gt;
&lt;p&gt;We used the condition &lt;tt&gt;appIsLoaded()&lt;/tt&gt; as general &lt;em&gt;wait if something is happening&lt;/em&gt; condition. This worked ... but only by accident. The condition was implemented incorrect for most situations but instead of failing it turned into a &lt;tt&gt;delay(10)&lt;/tt&gt;. Because this is quite expensive in the end we have to use appropriate conditions instead of &lt;tt&gt;appIsLoaded()&lt;/tt&gt;&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;Othersmallerchanges&quot;&gt;&lt;/a&gt;Other smaller changes&lt;/h2&gt;
&lt;p&gt;There are other small changes ... best have a look at the PR.&lt;br/&gt;
Most notable is probably the use of a correct &lt;tt&gt;log4j.xml&lt;/tt&gt; which directs all log messages during the tests into a log file. JUnit and Selenium messages are still displayed as expected.&lt;/p&gt;</description>
                <environment></environment>
        <key id="60305">MGNLCE-86</key>
            <summary>UI Test improvements as preparation for using docker and chrome</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="mmuehlebach">Michael M&#252;hlebach</assignee>
                                    <reporter username="mmuehlebach">Michael M&#252;hlebach</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Jul 2017 13:57:52 +0200</created>
                <updated>Thu, 7 Sep 2017 11:08:43 +0200</updated>
                            <resolved>Mon, 4 Sep 2017 15:37:37 +0200</resolved>
                                                    <fixVersion>5.5.7</fixVersion>
                    <fixVersion>5.6</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                                                                <issuelinks>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="60487">MGNLCE-85</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="60671">MGNLEE-500</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10022">
                    <name>supersession</name>
                                            <outwardlinks description="supersedes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="60535">MGNLCE-87</subtask>
                            <subtask id="60673">MGNLCE-89</subtask>
                            <subtask id="60536">MGNLCE-88</subtask>
                    </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_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>DEV-111</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>mmichel</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            6 years, 31 weeks, 3 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>mmuehlebach</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzz1a:</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_10245" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="530">Basel 106</customfieldvalue>
    <customfieldvalue id="534">Basel 107</customfieldvalue>
    <customfieldvalue id="536">Basel 108</customfieldvalue>
    <customfieldvalue id="545">Basel 109</customfieldvalue>
    <customfieldvalue id="547">Basel 110</customfieldvalue>
    <customfieldvalue id="554">Basel 111</customfieldvalue>
    <customfieldvalue id="559">Basel 112</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>13.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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>