https://progress.opensuse.org/https://progress.opensuse.org/themes/openSUSE/favicon/favicon.ico?15829177842018-10-09T15:19:45ZopenSUSE Project Management Toolqe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1549072018-10-09T15:19:45Zcwhcwh@suse.com
<ul><li><strong>Status</strong> changed from <i>Workable</i> to <i>In Progress</i></li><li><strong>Assignee</strong> set to <i>cwh</i></li></ul> qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1553452018-10-10T13:09:09Zcwhcwh@suse.com
<ul></ul><p>Using Leap 15 in a VirtualBox VM as a testing system.<br>
Setup of the REST-API enabled libyui is trivial when following the instructions from <a href="https://github.com/lslezak/cucumber-yast" class="external">https://github.com/lslezak/cucumber-yast</a><br>
Additional note: additional to the <code>zypper dup</code> from the README the package <code>libyui-qt9</code> needs to be installed. Otherwise the Qt-UI does not work.</p>
qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1554352018-10-10T15:13:29Zcwhcwh@suse.com
<ul></ul><p>Evaluating the REST API:</p>
<p>What currently is possible:</p>
<ul>
<li>inspect the current dialog and see all the widget types and IDs, all their contents, also for text entrieas and tables.</li>
<li>trigger actions for most of the widgets, like enter data, toggle check boxes and press buttons.</li>
</ul>
<p>What is not (yet) possible:</p>
<ul>
<li>send key presses</li>
<li>select rows from tables</li>
</ul>
<p>So it currently is not possible to e.g. delete a specific entry from /etc/hosts using the YaST host module.</p>
<p>Using the following sequence adds a new enty to the known hosts of the hosts module:<br>
<code>curl -X POST 'http://d133.suse.de:14155/widgets?id=add&action=press_button'</code><br>
<code>curl -X POST 'http://d133.suse.de:14155/widgets?id=host&action=enter_text&value=192.168.0.1'</code><br>
<code>curl -X POST 'http://d133.suse.de:14155/widgets?id=name&action=enter_text&value=router'</code><br>
<code>curl -X POST 'http://d133.suse.de:14155/widgets?id=ok&action=press_button'</code></p>
<p>Being able to use the REST API in os-autoinst tests would be really helpful for sending actions by widget IDs and also to check text contents by string matching.<br>
However it will still be needed to do screen checks by needle matching to make sure that anything that we can see via the API is really visible to the user.</p>
qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1554562018-10-10T15:21:32Zriafarov
<ul></ul><p>Just a quick one, all the commands you've tried, do they work in exactly same way as for ncurses? Or action names can be different, etc.?</p>
qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1554622018-10-10T15:22:45Zcwhcwh@suse.com
<ul></ul><p>About inspecting the dialog and contents of widgets:</p>
<p>After filling a text entry using<br>
<code>http://d133.suse.de:14155/widgets?id=name&action=enter_text&value=router</code></p>
<p>the call</p>
<p><code>http://d133.suse.de:14155/widgets?id=name</code></p>
<p>returns</p>
<p><code>[<br>
{<br>
"class" : "YInputField",<br>
"debug_label" : "Hostname",<br>
"hstretch" : true,<br>
"id" : "name",<br>
"label" : "&Hostname",<br>
"password_mode" : false,<br>
"value" : "router"<br>
}<br>
]</code></p>
<p>So data entry can easily be verified.</p>
qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1554682018-10-10T15:25:19Zcwhcwh@suse.com
<ul></ul><p>riafarov wrote:</p>
<blockquote>
<p>Just a quick one, all the commands you've tried, do they work in exactly same way as for ncurses? Or action names can be different, etc.?</p>
</blockquote>
<p>Verified that they exactly work the same.</p>
qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1554742018-10-10T15:31:52Zcwhcwh@suse.com
<ul></ul><p>Useful information can also be found here: <a href="https://blog.ladslezak.cz/2018/07/13/hackweek-17/" class="external">https://blog.ladslezak.cz/2018/07/13/hackweek-17/</a></p>
qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1557892018-10-11T19:47:26Zokurzokurz@suse.com
<ul><li><strong>Category</strong> set to <i>Enhancement to existing tests</i></li></ul> qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1558102018-10-11T19:55:20Zokurzokurz@suse.com
<ul><li><strong>Target version</strong> set to <i>Milestone 20</i></li></ul> qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1569592018-10-15T11:23:27Zcwhcwh@suse.com
<ul><li><strong>Category</strong> deleted (<del><i>Enhancement to existing tests</i></del>)</li><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li><li><strong>Target version</strong> deleted (<del><i>Milestone 20</i></del>)</li></ul> qe-yam - action #42188: [functional][y][timeboxed:8h] Evaluate testing YaST GUI framework developed by Ladislav Lezakhttps://progress.opensuse.org/issues/42188?journal_id=1569652018-10-15T11:24:15Zcwhcwh@suse.com
<ul><li><strong>Category</strong> set to <i>Enhancement to existing tests</i></li><li><strong>Target version</strong> set to <i>Milestone 20</i></li></ul>